javascript - 如果元素是数组,如何删除对象的元素?
问题描述
想要从复杂对象中删除一些字段。
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”
解决方案
您可以使用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);
如果只有三个属性scheme
,id
并且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);
推荐阅读
- python - 让 Python 将数据输出到 Excel 工作表
- python - 读取 json 文件得到错误 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
- swift - Swift:从两个不同的按钮调用相同的方法
- c++ - 使用默认构造函数初始化对象的不同方法
- objective-c - Swift 让计算属性转换为 Objective C 语法
- python - 根据条件创建新列
- c - 是否可以在 Swift 中创建一个可以与 C 代码链接和调用的函数?
- c# - QueryAsync 不返回任何 ID 列(自动编号列)
- r - 调用函数抛出错误/手动运行行不会
- html - 如何过滤从后端拉取的数据角度