2012-04-03 59 views
-1

我有一个由无数个对象组成的数组。这些对象具有相同的结构。如果我CONSOLE.LOG我的整个阵列我得到这样的:计数数组中的对象(Javascript)

[对象],[对象],[对象],ECC ...

每当我推阵列我可以内部的新对象也实现一个计数器,或者我可以使用正常的循环来计数对象。没有更有效的方法来统计所有的对象吗?

为什么array.lenght不起作用?

+1

为什么不呢?你可能拼错了它('array.lenght' --->'array.length')。 – 2012-04-03 21:41:03

+0

我不明白为什么'array.length'不起作用,你能举个例子吗? – raser 2012-04-03 21:41:26

+0

你的意思是'array.length'?你能否提供一个代码示例? – Pete 2012-04-03 21:41:45

回答

3

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

0

你应该可以使用object.length。考虑下面这个例子:

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

上打印“4”我 - 你的阵列尝试一下,它应该在阵列中打印出对象的适当数量到浏览器窗口,如果你使用上的JavaScript web ...(否则只是打印x.length)

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

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