如何在一次操作中添加属性并推入对象?
实现对象添加属性并推入数组的单行操作
当然可以!你可以利用对象扩展运算符(...)创建原对象的副本并添加新属性,直接推入数组,一行代码就能完成:
let obj = { /* 原对象属性 */ }; col.push({ ...obj, extraInfo: "shazoo" });
补充说明:
- 这个操作会生成原对象
obj的浅拷贝,在副本上新增extraInfo属性后推入数组,不会修改原对象本身,能避免意外的副作用。 - 如果需要一次性添加多个属性,直接在扩展后的对象中追加即可:
col.push({ ...obj, extraInfo: "shazoo", age: 30, isActive: true });
要是你确实需要修改原对象的同时推入(不推荐,可读性差且易引发问题),也可以用逗号运算符合并操作,但这种写法不建议常用:
col.push(obj.extraInfo = "shazoo", obj);
内容的提问来源于stack exchange,提问作者Konrad Viltersten
相关产品推荐
相关产品推荐

