我试着做一些很简单的事情,但我觉得我犯了一个愚蠢的错误。
我有一个充满了对象的数组,我有一个新的对象,我想把它放入这个数组中。我的代码如下所示:
var data = [ { id: 'S1', url: '1.html' } ];
var newData = { id: '3', url: '3.html' };
console.log(data.push(newData))出于某种原因,这个文件一直打印"2“。
这里是个小提琴
有人能告诉我我犯了什么愚蠢的错误吗?
发布于 2013-08-20 23:22:56
您正确地使用了.push()。但是,很明显,他们期待着价值
返回 调用方法的对象的新
length属性。
如果您试图记录Array本身,则需要单独这样做:
data.push(newData);
console.log(data);至于小提琴,您可以使用JSON.stringify()来序列化对象。
data.push(newData);
$('#here').text(JSON.stringify(data, null, 2))[ { "id": "S1", "url": "1.html" }, { "id": "3", "url": "3.html" } ]简单地使用.text(data)将使用每个toString(),这只会导致:
[object Object],[object Object]发布于 2013-08-20 23:23:27
Array.protoype.push对调用的数组进行变异,并返回数组的新长度。
https://stackoverflow.com/questions/18346487
复制相似问题