-1

我有一个由无限数量的对象组成的数组。这些对象具有相同的结构。如果我 console.log 我的整个数组,我会得到如下信息:

[对象], [对象], [对象], ecc...

每当我在数组中推送一个新对象时,我也可以实现一个计数器,或者我可以使用普通的 for 循环来计算对象。没有更有效的方法来计算所有对象吗?

为什么 array.length 不起作用?

4

3 回答 3

3

array.length返回存储在数组中的元素数。

于 2012-04-03T21:43:04.897 回答
1

大多数 javascript 引擎将为数组对象原生实现有效的 .length 方法。您无需重复他们的努力。

如果你创建一个数组,你可以简单地访问myArray.length来获取长度。

例子:

var myArray = [];
myArray.push({ 'id': 1, 'title': 'Who' });
myArray.push({ 'id': 2, 'title': 'What' });
myArray.push({ 'id': 3, 'title': 'Where' });
myArray.push({ 'id': 4, 'title': 'Why' });

alert(myArray.length); //should be 4
于 2012-04-03T21:44:12.167 回答
0

您应该能够使用 object.length。考虑这个例子:

x = [[], function() { return ""; }, 3,document.createElement('div')]
alert(x.length);

为我打印“4” - 尝试使用您的数组,如果您在网络上使用 javascript,它应该将数组中正确数量的对象打印到浏览器窗口......(否则只需打印 x.length )

也许发布更多代码会有所帮助。哦,顺便说一句,不要使用“array.length”,而是使用“x.length”,假设 x 是名称或您的数组。

于 2012-04-03T21:44:09.803 回答