![](/img/trans.png)
[英]How to push into an array of object using the spread operator to a specific element
[英]Push an object into the array using spread operator?
我有一个这样的对象数组,
let array1 = [{id:1,name:'One'}]
每当我进行api调用时,对象数组都会像这样更新
let array2 = [{id:1,name:'One'}, {id:2, name:'Two'}]
第三次,会是这样,
let array3 = [{id:1,name:'One'}, {id:2, name:'Two'}, {id:3, name: 'Three'}]
现在我试图为数组中的每个对象添加键值对,如下所示:
obj = {
key: 'value'
}
[...array1, obj]
正在获得类似[{id:1,name:'One'},{key: 'value'}]
但预期的输出为[{id:1,name:'One',key: 'value'}]
该对象应在每次api调用后被推入数组
如果要将键值对添加到数组中的每个对象,则除了使用扩展语法外,还需要映射到数组
let array1 = [{id:1,name:'One'}] const obj = { key: 'value' } array1 = array1.map(val => ({...val, ...obj})) console.log(array1);
如果希望所有数组项都与对象合并,则可以尝试使用Array.prototype.map()
和Object.assign()
,如下所示:
let array3 = [{id:1,name:'One'}, {id:2, name:'Two'}, {id:3, name: 'Three'}]; let obj = {key: 'value'}; let res = array3.map(i => Object.assign(i, obj)); console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.