首页 > 解决方案 > 如何使用 reactjs 从对象中删除数组

问题描述

我的目标是从对象中删除一个数组 []。我无法弄清楚如何从对象中删除特定数组。谁能帮我解决这个问题?

这是以下对象:

experience: [
    {
        organisation: "",
        id: "",
        from: "",
        to: "",
        skills: []
    }
]

Experience数组有一个对象,它可能有多个对象。

experience: [
    {
        organisation: "",
        id: "",
        from: "",
        to: "",
        skills: []
    },
    {
        organisationName: "",
        id: "",
        from: "",
        to: "",
        skills: []
    }
]

我想skills从每个对象中删除数组。

我已经尝试过这种方式,但它显示未定义。

 let skillsArray = this.state.experiences.forEach((item) => item.skills! == Array.isArray([]))

谁能帮我解决这个问题?

标签: javascriptreactjs

解决方案


映射experience数组,解构skills属性,并使用 rest 语法收集对象中的其余属性,并返回它:

const state = {
  experience: [{
    organisation: "",
    id: "",
    from: "",
    to: "",
    skills: []
  }]
};

const newState = {
  ...state,
  experience: state.experience.map(
    ({ skills, ...rest }) => rest
  )
};
console.log(newState);


推荐阅读