问题描述
我有以下对象:
[
{ id: 1 },{ id: 2 },{ id: 3 }
]
我想添加另一个数组,但是总是添加到对象的最后一个数组中(第一个对象的长度可以更改)。因此,它可能看起来像这样:
新数组元素:
{ name: "Hello Id 3" }
第一个附加了第二个对象的对象:
[
{ id: 1 },{ id: 3,name: "Hello Id 3" }
]
有什么想法吗?
谢谢!
解决方法
使用Object.assign()
是合并两个对象属性的一种方法
const data = [
{ id: 1 },{ id: 2 },{ id: 3 }
]
const obj = { name: "Hello Id 3" };
Object.assign( data[data.length-1],obj);
console.log(data)
,
您可以使用Array.length
(-1)查找数组中最后一个对象的索引,然后向其中添加新对象的元素:
let objs = [
{ id: 1 },{ id: 3 }
];
const name = { name: "Hello Id 3" };
const idx = objs.length - 1;
objs[idx] = { ...objs[idx],...name };
console.log(objs);