Ist es möglich, in einer for-Schleife auf ein anonymes Array zu verweisen?

7
%Vor%

Das name gibt hier den Index des Arrays zurück, aber ich kann nicht darauf verweisen, da es anonym ist.

Ich weiß, dass ich es außerhalb der Schleife deklarieren kann, aber hier frage ich, ob es eine Möglichkeit gibt, direkt auf den Namen zu verweisen, der ohne Index ist.

    
rsk82 01.01.2012, 18:05
quelle

7 Antworten

5

Wenn Sie wissen, dass die Schlüssel des Arrays Ganzzahlen sind, ist nichts notwendig, das for..in Konstrukt zu verwenden.

%Vor%

Im obigen Code ermöglicht eine einfachere for -Schleife das Erstellen eines neuen Objekts und das Verweisen auf einen Schlüssel innerhalb der Schleife.

    
buley 01.01.2012, 18:11
quelle
13

... nein. Es gibt keine, zumindest keine native Schleife. Es gibt jedoch ES5s forEach :

%Vor%

Was praktisch gleich ist. Es wird fast überall unterstützt, außer im alten IE: etwas wie es5-shim ermöglicht zum Beispiel ES5-Methoden auch in solchen alten Browsern.

    
goto-bus-stop 01.01.2012 18:09
quelle
4

Sie haben mehrere Möglichkeiten.

Wenn Sie jQuery verwenden, können Sie dies tun:

%Vor%

Wenn Sie jQuery nicht verwenden, können Sie eine eigene Funktion erstellen

%Vor%

Wenn du keine Funktion erstellen willst, kannst du immer etwas Verrücktes machen: (empfehle es nicht)

%Vor%     
Luis Perez 01.01.2012 18:17
quelle
3

Wenn das Array anonym ist, können Sie nicht mit einer for in -Schleife auf seine Elemente verweisen.

    
Darin Dimitrov 01.01.2012 18:07
quelle
3

Nein, du kannst es nicht tun. Es werden nur die Indizes angezeigt. Außerdem ist für eine in-Schleife für ein Array in JavaScript eine schlechte Übung. Es durchläuft alle Array-Objektmethoden.

    
Shiplu Mokaddim 01.01.2012 18:12
quelle
2

Die Array-Methoden forEach , map , filter usw. durchlaufen die Indizes eines Literal-Arrays:

%Vor%

Shim für ältere Browser:

%Vor%     
kennebec 01.01.2012 20:29
quelle
1

Sie verwenden dafür eine falsche Syntaxkonstruktion.

for in dient zum Aufzählen von Objekteigenschaften, nicht zum Iterieren von Arrays. Deklarieren Sie Ihr Array außerhalb und verwenden Sie eine reguläre Schleife.

%Vor%     
Sergio Tulentsev 01.01.2012 18:09
quelle

Tags und Links