2012-04-03 84 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