js删除数组对象中的某个属性的方法
js删除数组对象中的某个属性的方法、避免踩坑。
·
模拟数组对象数据
let newArr = [{title:'小明', id:18},{title:'小红', id:16}]
方式一:(for循环)删除数组对象中的某个属性,如删除id属性
for (const key in newArr) {
// 删除id属性
delete newArr[key].id;
}
方式二:(map循环)删除数组对象中的某个属性,如删除id属性
let newArrVal = JSON.parse(JSON.stringify(newArr)) //数组是引用类型, 深拷贝一下
newArrVal.map(e => { delete e.id }) //然后删除属性id
错误写法:
let newArrVal = (JSON.parse(JSON.stringify(newArr))).map(e => { delete e.id})
//想代码一步到位, 结果得到错误的值
因为map不会改变原数组, 且需要return返回值给新数组接收!
上面错误代码中, 没有return 返回值, newArrVal最终得到的是undefined.
方式三:(forEach循环)删除数组对象中的某个属性,如删除id属性
newArr.forEach(item => {
if (item.id) {
// 删除id属性
delete item.id;
}
})
到此结束。
更多推荐
已为社区贡献29条内容
所有评论(0)