首页 > 解决方案 > 使用扩展运算符将对象推入数组?

问题描述

我有一个这样的对象数组,

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 调用之后对象应该被推入一个数组

标签: javascriptarraysecmascript-6

解决方案


如果要为数组中的每个对象添加键值对,除了使用扩展语法之外,还需要映射数组

let array1 = [{id:1,name:'One'}]
const obj = {
    key: 'value'
}
array1 = array1.map(val => ({...val, ...obj}))
console.log(array1);


推荐阅读