微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用reactjs从对象中删除数组

如何解决如何使用reactjs从对象中删除数组

我的目标是从对象中删除array []。我无法弄清楚如何从对象中删除特定的数组。有人可以帮我这个查询吗?

以下是以下对象:

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

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

experience: [
    {
        organisation: "",skills: []
    },{
        organisationName: "",skills: []
    }
]

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

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

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

有人可以帮助我进行此查询吗?

解决方法

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

skills

,

要实现您要执行的操作,您需要使用map方法。 此方法遍历数组的每个元素,并返回一个新数组,其中每个元素就是函数返回的内容。

forEach将遍历数组中的所有项目,并对每个元素执行作为函数传递的内容。在您的代码中,您只是在进行比较,不会真正影响任何事情。

回答您的问题:

let skillsArray = this.state.experiences.map((item) => {
  delete item.skills;
  return item;
})

但是请注意,在此示例中,我也在修改原始数组,因此复制每个项目然后进行修改可能会更好。

let skillsArray = this.state.experiences.map((item) => {
  let newItem = { ...item }
  delete newItem.skills;
  return newItem;
})

还有一件事,这个问题确实与Javascript有关。 React实际上并没有参与其中。

,

您可以按所需的问题过滤列表,例如,如果要删除所有项目= 3,它将被自动删除:

list: prevState.list.filter(x=> x != 3);

祝你好运!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。