如何在javascript中向数组添加新对象(键值对)?

How to add a new object (key-value pair) to an array in javascript?

我的数组是:

1
items=[{'id':1},{'id':2},{'id':3},{'id':4}];

如何向数组中添加一对新的{'id':5}


使用:推:

1
items.push({'id':5});


有时.concat()比.push()更好,因为.concat()返回新数组,而.push()返回数组的长度。

因此,如果要将变量设置为等于结果,请使用.concat()。

1
2
items = [{'id': 1}, {'id': 2}, {'id': 3}, {'id': 4}];
newArray = items.push({'id':5})

在这种情况下,newarray将返回5(数组的长度)。

1
newArray = items.concat({'id': 5})

但是,这里newarray将返回['id':1,'id':2,'id':3,'id':4,'id':5]。


.push()将向数组末尾添加元素。

如果需要将一些元素添加到数组的开头,请使用.unshift(),即:

1
items.unshift({'id':5});

演示:

1
2
3
items = [{'id': 1}, {'id': 2}, {'id': 3}, {'id': 4}];
items.unshift({'id': 0});
console.log(items);

如果要在特定索引处添加对象,请使用.splice(),即:

1
2
items.splice(2, 0, {'id':5});
           // ^ Given object will be placed at index 2...

演示:

1
2
3
items = [{'id': 1}, {'id': 2}, {'id': 3}, {'id': 4}];
items.splice(2, 0, {'id': 2.5});
console.log(items);