计算数组中的对象(Javascript)

时间:2012-04-03 21:38:32

标签: javascript arrays

我有一个由无限数量的对象组成的数组。这些对象具有相同的结构。如果我console.log我的整个数组我得到这样的东西:

[object],[object],[object],ecc ...

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

为什么array.lenght不起作用?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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

答案 2 :(得分:0)

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

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

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

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