模拟数组对象数据

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;
  }
})

 到此结束。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐