Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der JS-Array-Traversal-Methoden

Zusammenfassung der JS-Array-Traversal-Methoden

零到壹度
零到壹度Original
2018-04-21 15:24:171626Durchsuche

Um eleganten Code zu schreiben, verwenden wir die Methode an der richtigen Stelle und zeigen sie in es6 an es5-Umgebung. Dies ist nicht der Schwerpunkt dieses Artikels. Darüber können Sie im nächsten Artikel schreiben.

1. Die for-Schleife

wird am häufigsten verwendet und vom Frontend verwendet, was bedeutet, dass ich die for-Schleife nur am Anfang verwenden werde . . .

let arr = [&#39;123&#39;, &#39;456&#39;, &#39;789&#39;];for (let i = 0; i < arr.length; i ++) {
    console.log(arr[i]);
}

wird am häufigsten verwendet, es gibt jedoch Raum für Optimierung:

for (let i = 0, len = arr.length; i < len; i ++) {
    console.log(arr[i]);
}

Verwenden Sie temporäre Variablen, um den Längenwert zu speichern, um zu vermeiden, dass die Array-Länge wiederholt abgerufen wird.

2. for...of-Schleife

Die neue Schleifenmethode in es6 ist einfacher und effizienter als die for-Schleife in es5. Sie bietet außerdem drei neue Methoden:

  1. key() ist ein Durchlauf von Schlüsselnamen;

  2. value() ist ein Durchlauf von Schlüsselwerten; >entries() ist eine Durchquerung von Schlüssel-Wert-Paaren;

  3. 3. foreach-Schleife
Die foreach-Methode des Arrays wird häufiger verwendet, aber Seine Leistung ist schlechter als die der for-Schleife. Dies hat den Vorteil, dass leere Array-Elemente automatisch weggelassen werden können, was einer automatischen Entleerung gleichkommt.
let arr = [&#39;科大讯飞&#39;, &#39;政法BG&#39;, &#39;前端开发&#39;];
for (let item of arr) {  
  console.log(item);
}
// 输出数组索引
for (let item of arr.keys()) {  
  console.log(item);
}
// 输出内容和索引
for (let [item, val] of arr.entries()) {  
  console.log(item + &#39;:&#39; + val);
}

4. Filterschleife

verfügt über eine Schleifenfunktion, die hauptsächlich zum Filtern von Arrays verwendet wird und eine Methode empfängt, die eine Sammlung von Elementen zurückgibt, die der Funktion entsprechen.
let arr = [&#39;科大讯飞&#39;, ,  &#39;政法BG&#39;, , &#39;前端开发&#39;];
arr.forEach((val,index)=>console.log(index,val));

5. Eine Schleife

hat die gleiche Funktion wie ein Filter. Der Unterschied besteht darin, dass sie einen booleschen Wert zurückgibt, der verwendet wird, um zu überprüfen, ob ein Objekt im Array vorhanden ist.
let arr = [{
    label: &#39;科大讯飞&#39;,    
    value: 1
}, {
    label: &#39;政法BG&#39;,    value: 2
}, {
    label: &#39;前端开发&#39;,    value: 3
}];

const arr1 = arr.filter(list => list.value === 1);
console.log(arr1);

Daher wird es oft in if verwendet.

6. Die Funktion zum Ersetzen der Kartenschleife
if (arr.some(list => list.value === 1)) {
    console.log(&#39;执行了!&#39;)
}

gibt eine Reihe von Werten zurück, die durch Aufrufen der Rückruffunktion für jedes Element im ursprünglichen Array zurückgegeben werden.

Die oben genannten sind die häufig verwendeten Array-Traversal-Methoden. In Zukunft können Sie eine Methode entsprechend der tatsächlichen Situation verwenden, anstatt überall for-Schleifen zu verwenden.

let arr = [1, 2, 3, 4];
onst arr1 = arr.map(list => list * 2);
console.log(arr1);

Verwandte Empfehlungen:

Gemeinsame Methoden zum Durchlaufen von Arrays

3 Möglichkeiten zum Durchlaufen von Listensammlungen

Detaillierte Erläuterung von HashMap in Java 8 (Speicherstruktur, Funktionsimplementierung, Erweiterungsoptimierung, Thread-Sicherheit, Traversal-Methode)

Besuchen Sie die Datenstruktur erneut: Gemeinsame Methoden von Binärbäumen und drei Traversal-Methoden Java-Implementierung

Das obige ist der detaillierte Inhalt vonZusammenfassung der JS-Array-Traversal-Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn