1

我正在尝试做一些非常简单的事情,但我认为我犯了一个愚蠢的错误。

我有一个充满对象的数组,并且我有一个要放入该数组的新对象。我的代码如下所示:

 var data = [ { id: 'S1', url: '1.html' } ];

 var newData = { id: '3', url: '3.html' };

console.log(data.push(newData))

出于某种原因,这会一直打印“2”。

是一个小提琴

谁能告诉我我犯了什么愚蠢的错误?

4

2 回答 2

4

你使用.push()正确。但是,显然期待不同的return价值

退货

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)将使用 each Object'stoString(),这将简单地导致:

[object Object],[object Object]
于 2013-08-20T23:22:56.570 回答
1

Array.protoype.push改变它被调用的数组并返回数组的新长度。

在这里查看文档!

于 2013-08-20T23:23:27.540 回答