如何通过JavaScript正确实现数组对象的属性添加与移除?
正确实现方法
你的代码存在解构语法错误,无法完成移除指定属性并添加新属性的需求,以下是修正后的实现方案:
修正后的代码
let objArr = [ { "name" : "mark", "height" : "tall", "hairColor": "black"}, { "name" : "ben", "height" : "medium", "color": "fair"}, { "name" : "neil", "height" : "small", "color": "dark"} ]; const addmoreObject = {"gender": "male", "age": 33}; const res = objArr.map(({ hairColor, color, ...rest }) => ({ ...rest, ...addmoreObject })); console.log("RES", res);
核心逻辑说明
- 移除目标属性:在
map的回调函数中,通过对象解构把不需要的hairColor、color单独提取(这两个属性不会被后续使用,等同于从原对象中移除),剩下的属性存入rest变量。 - 合并新属性:用对象展开运算符
...,将rest(原对象保留的属性)与addmoreObject(要新增的属性)合并成新对象,作为map的返回值。 - 代码规范优化:给
addmoreObject添加const声明,避免意外产生全局变量。
内容的提问来源于stack exchange,提问作者simon
相关产品推荐
相关产品推荐

