不思議に思うのですarray.length
が、使用すると最後のインデックス値が取得され、1つ追加されます。配列がある場合、それは何らかの理由でこのように定義されます。
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());