Nur wundernd, wenn Sie array.length
verwenden, erhält es den letzten Indexwert und fügt eins hinzu. Was passiert, wenn Sie einen Array haben, die auf diese Weise aus irgendeinem Grunde definiert:Wie kann die absolute Array-Länge in JavaScript am besten gezählt werden?
var myArray2 =[];
myArray2[10]='x';
myArray2[55]='x';
Was ist der absolut beste Weg, um die wahre Länge dieses Array zu bekommen? Etwas, das 2 als Wert zurückgibt.
Ich dachte so etwas, aber nicht sicher, ob es bereits eine Methode dafür gab, oder ob es eine schnellere Implementierung gibt.
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());
Nun, das ist elegant. –
Nizza. natürlich können Sie‘ d benötigt eine Implementierung von 'Array.prototype.reduce' für IE <9 –
@TimDown Compen satt dafür (und einige mehr.) – Zirak