Wie kann die absolute Array-Länge in JavaScript am besten gezählt werden?

8

Ich frage mich nur, wenn Sie array.length verwenden, erhält es den letzten Indexwert und fügt eins hinzu. Was ist, wenn Sie ein Array haben, das aus irgendeinem Grund so definiert ist:

%Vor%

Was ist der absolut beste Weg, um die wahre Länge dieses Arrays zu erhalten? Etwas, das 2 als Wert zurückgibt.

Ich habe so etwas gedacht, bin mir aber nicht sicher, ob es dafür schon eine Methode gibt oder ob es eine schnellere Implementierung gibt.

%Vor%     
theintersect 27.09.2012, 10:43
quelle

5 Antworten

10

Array.prototype.reduce durchläuft nur vorhandene Indizes, also Sie kann tun:

%Vor%

"Aber Onkel Zirak! reduce hat meine Eltern getötet!" Mach dir keine Sorgen, Junge, wir können Array.prototype.filter verwenden!

%Vor%

"Das ganze Array-Zeug ist langweilig!" Nun, wenn ich daran denke!?

%Vor%

"Aber ... aber ... aber Zirak !!!! Wir sind Amish, wir haben noch kein ECMAScript 5!" Keine Angst, Zirak ist hier!

%Vor%

Aber in Zeiten wie diesem muss man sich fragen: Warum all das tun und dem Zweck des Arrays trotzen, ein strukturiertes Konstrukt, statt etwas anderes zu verwenden, das zu seinem Zweck passt?

    
Zirak 27.09.2012, 11:36
quelle
2

Iterate durch das Array mit for in . jsfiddle

%Vor%     
Anoop 27.09.2012 10:48
quelle
1

Alternative Prototyp-Methode:

%Vor%

Beispiel:

%Vor%     
Yaşar İÇLİ 27.09.2012 11:03
quelle
0

Ich würde den Operator in verwenden:

%Vor%     
Tim Down 27.09.2012 11:30
quelle
0
%Vor%

Verwenden Sie diese Funktion und erhalten Sie die wahren Array-Längen.

    
Powered 08.11.2013 00:09
quelle

Tags und Links