如何解决如何使用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 举报,一经查实,本站将立刻删除。