我在想,当你使用array.length
时,它会获取最后一个索引值并加一。如果你有一个以某种方式定义的数组:
var myArray2 =[];
myArray2[10]='x';
myArray2[55]='x';
什么是获取此数组真实长度的最佳方法? 该方法应返回2作为值。
我考虑过类似于以下内容的方法,但不确定是否已经有了此方法,或者是否存在更快的实现。
Array.prototype.trueLength= function(){
for(var i = 0,ctr=0,len=myArray2.length;i<len;i++){
if(myArray2[i]!=undefined){
ctr++;
}
}
return ctr;
}
console.log(myArray2.trueLength());
Array.prototype.reduce
的实现来兼容 IE < 9。 - Tim Down