首页 > 解决方案 > 如果元素是数组,如何删除对象的元素?

问题描述

想要从复杂对象中删除一些字段。

var obj1={title:"T1",name="name1",classes:[
{id:1,scheme:1,cName:"Cls1"},
{id:2,scheme:2,cName:"Cls2"},
{id:3,scheme:3,cName:"Cls3"},]}

我想从每个班级的班级中删除“方案”和“cName”

标签: javascriptlodash

解决方案


您可以使用map()onobj.classes并解构要删除的属性并返回其他属性。

注意:以下方法将修改原始对象。

var obj1={title:"T1",name:"name1",classes:[ {id:1,scheme:1,cName:"Cls1"}, {id:2,scheme:2,cName:"Cls2"}, {id:3,scheme:3,cName:"Cls3"}]}

obj1.classes = obj1.classes.map(({cName,scheme,...rest}) => rest);
console.log(obj1);

如果只有三个属性schemeid并且cName您想删除其中两个。然后最好从map()

var obj1={title:"T1",name:"name1",classes:[ {id:1,scheme:1,cName:"Cls1"}, {id:2,scheme:2,cName:"Cls2"}, {id:3,scheme:3,cName:"Cls3"}]}

obj1.classes = obj1.classes.map(({id}) => ({id}));
console.log(obj1);


推荐阅读