我有一個由無數個對象組成的數組。這些對象具有相同的結構。如果我CONSOLE.LOG我的整個陣列我得到這樣的:計數數組中的對象(Javascript)
[對象],[對象],[對象],ECC ...
每當我推陣列我可以內部的新對象也實現一個計數器,或者我可以使用正常的循環來計數對象。沒有更有效的方法來統計所有的對象嗎?
爲什麼array.lenght不起作用?
我有一個由無數個對象組成的數組。這些對象具有相同的結構。如果我CONSOLE.LOG我的整個陣列我得到這樣的:計數數組中的對象(Javascript)
[對象],[對象],[對象],ECC ...
每當我推陣列我可以內部的新對象也實現一個計數器,或者我可以使用正常的循環來計數對象。沒有更有效的方法來統計所有的對象嗎?
爲什麼array.lenght不起作用?
array.length
返回存儲在數組中的元素數。
你應該可以使用object.length。考慮下面這個例子:
x = [[], function() { return ""; }, 3,document.createElement('div')]
alert(x.length);
上打印「4」我 - 你的陣列嘗試一下,它應該在陣列中打印出對象的適當數量到瀏覽器窗口,如果你使用上的JavaScript web ...(否則只是打印x.length)
也許發佈更多的代碼會有所幫助。哦,順便說一句,不要使用「array.length」,而是使用「x.length」,假設x是名稱或數組。
大多數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
爲什麼不呢?你可能拼錯了它('array.lenght' --->'array.length')。 – 2012-04-03 21:41:03
我不明白爲什麼'array.length'不起作用,你能舉個例子嗎? – raser 2012-04-03 21:41:26
你的意思是'array.length'?你能否提供一個代碼示例? – Pete 2012-04-03 21:41:45