我有一个由无限数量的对象组成的数组。这些对象具有相同的结构。如果我console.log我的整个数组我得到这样的东西:
[object],[object],[object],ecc ...
每当我在数组中推送一个新对象时,我也可以实现一个计数器,或者我可以使用一个普通的for循环来计算对象。是不是有更有效的方法来计算所有对象?
为什么array.lenght不起作用?
答案 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是名称或数组。