如何在对象内部索引的最后一个数组中添加数组?

问题描述

我有以下对象:

[
    { 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);