Es gibt viele Schleifenanweisungen in JavaScript, darunter for-, for in-, for of- und forEach-Schleifen. Heute werden wir die Unterstützung und Unterschiede von Schleifenanweisungen für vier Datenstrukturen vergleichen: Array, Object, Set (ES6) und Map (ES6). Erstellen Sie vier neue Testdatentypen sei arr = [1, 2, 3, 4, 5, 6]; sei Objekt = { a: 1, b: 2, c: 3 }; lass map = neue Map([['a', 'a1'], ['b', 'b2'], ['c', 'c3']]); setze = neues Set(['a', 'b', 'c']); 1 fürIn Arrays können gewöhnliche For-Schleifen verwendet werden. Beim Durchlaufen eines Arrays durchlaufen Sie den Array-Index und erhalten den Wert über den Index. for (let i = 0; i < arr.length; i++) { // i ist der Index Konsole.log(i) Konsole.log(arr[i]) } 2 für infor in kann sowohl im Array als auch im Objekt verwendet werden. Dabei ist zu beachten, dass auch die Eigenschaften des Prototyps ausgeschleift werden. Anordnungsei arr = [1, 2, 3, 4, 5, 6]; Array.prototype.a = "1" for (let i in arr) { // i ist der Index Konsole.log(i) Konsole.log(arr[i]) } Sie können sehen, dass der Prototyp ebenfalls durchgeschleift wird, aber das ist nicht das, was wir wollen. Wir können die Eigenschaften des Prototyps über hasOwnProperty herausfiltern. sei arr = [1, 2, 3, 4, 5, 6]; Array.prototype.a = "1" for (let i in arr) { // i ist der Index wenn (arr.hasOwnProperty(i)) { Konsole.log(i) Konsole.log(arr[i]) } } Objektlass obj = { a: 1, b: '2', c: 3 }; Objekt.prototyp.d = 4 for (let key in obj) { // key ist der Schlüssel console.log(key) console.log(Objekt[Schlüssel]) } Das gleiche Problem besteht für Object. Die Prototyp-Eigenschaften werden ebenfalls durchgeschleift und die Eigenschaften des Prototyps können auch über hasOwnProperty herausgefiltert werden. for (let key in obj) { // key ist der Schlüssel if (obj.hasOwnProperty(key)) { console.log(Schlüssel) console.log(Objekt[Schlüssel]) } } 3 für vonfür of kann in Array, Object, Set und Map verwendet werden. AnordnungDa es sich bei Arrays im Wesentlichen um Objekte handelt, können wir definierte Methoden im impliziten Prototyp (__proto__) finden. for (let key of arr.keys()) { // key ist der Index console.log(key) } für (let value of arr) { // Wert ist der Wert console.log(value) } für (let value of arr.values()) { // Wert ist der Wert console.log(value) } for (let [key, value] of arr.entries()) { // Schlüssel ist der Indexwert ist der Wert console.log(key,value) } Objektfor (let [key, value] of Object.entries(obj)) { // Schlüssel ist der Indexwert ist der Wert console.log(key, value) } SatzDa Set keine Duplikate aufweist, sind die Schlüssel und Werte konsistent, was bedeutet, dass die folgenden vier Ausgaben konsistent sind für (let key von set.keys()) { console.log(Schlüssel) } für (let Wert von set) { console.log(Wert) } für (let Wert von set.values()) { console.log(Wert) } für (let [Schlüssel, Wert] von set.entries()) { console.log(Schlüssel, Wert) } Kartefür (let Schlüssel von map.keys()) { console.log(Schlüssel) } für (let Wert der Karte) { console.log(Wert) } für (let Wert von map.values()) { console.log(Wert) } für (let [Schlüssel, Wert] von map.entries()) { console.log(Schlüssel, Wert) } Mit den Anweisungen „break“ und „continue“ können Sie aus der Schleife herausspringen oder mit „return“ aus dem Funktionskörper zurückkehren. for (let key of arr.keys()) { // Schlüssel ist ein Index if (key == 3) { zurückkehren } console.log(Schlüssel) } for (let key of arr.keys()) { // Schlüssel ist ein Index if (key == 3) { brechen } console.log(Schlüssel) } for (let key of arr.keys()) { // Schlüssel ist ein Index if (key == 3) { weitermachen } console.log(Schlüssel) } 4 fürJedenDie forEach-Schleife kann in Array, Set und Map verwendet werden. Die Methode kann jedoch keine „break“- oder „continue“-Anweisungen verwenden, um aus der Schleife zu springen, und sie kann auch keine „return“-Anweisungen verwenden, um aus dem Funktionskörper zurückzukehren. Anordnungarr.forEach((Wert, Index) => { console.log(Wert, Index) }) Satz set.forEach((Wert, Schlüssel) => { console.log(Wert, Schlüssel) }) Karte map.forEach((Wert, Schlüssel) => { console.log(Wert, Schlüssel) }) unterbrechen, fortsetzen und zurückkehrenVerwenden Sie „Weiter“, um zur Eingabeaufforderung zu gelangen Unzulässige Continue-Anweisung: keine umgebende Iterationsanweisung Mit „break“ wird Unzulässige Break-Anweisung Die Verwendung von return führt nicht zur Rückkehr, sondern setzt die Schleife fort 5 FazitIn Arrays können gewöhnliche For-Schleifen verwendet werden. Beim Durchlaufen eines Arrays durchlaufen Sie den Index des Array-Index und erhalten den Wert über den Index; „for in“ kann sowohl im Array als auch im Objekt verwendet werden. Es ist jedoch zu beachten, dass die Eigenschaften des Prototyps ebenfalls in einer Schleife ausgegeben werden; for of kann in Array, Object, Set und Map verwendet werden. Sie können auch „break“, „continue“ und „return“ verwenden; die forEach-Schleife kann in Array, Set und Map verwendet werden. Die Methode kann jedoch keine „break“- oder „continue“-Anweisungen verwenden, um aus der Schleife zu springen, und sie kann auch keine „return“-Anweisungen verwenden, um aus dem Funktionskörper zurückzukehren. Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der häufig verwendeten for-Schleife in JavaScript-Anweisungen. Weitere verwandte js-for-Schleifeninhalte finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Win2008 R2 MySQL 5.5 ZIP-Format MySQL-Installation und -Konfiguration
>>: Lösung für mehrere 302-Antworten im Nginx-Proxy (Nginx Follow 302)
Inhaltsverzeichnis 1. Kapseln Sie komplexe Seiten...
Im Bereich Design gibt es jedes Jahr unterschiedl...
Inhaltsverzeichnis Was ist eine Voranalyse? Der U...
Kaskadierung und kaskadierende Ebenen HTML-Elemen...
Das enctype-Attribut des FORM-Elements gibt den Ko...
1. Übersicht Benutzer erwarten, dass die Webanwen...
Detaillierte Erklärung des Docker-Tags Die Verwen...
React ist eine JavaScript-Bibliothek zum Erstelle...
Nginx: PV, UV, unabhängige IP Jeder, der Websites...
Nachfragehintergrund Das Projekt wurde mit Vue er...
Inhaltsverzeichnis Wirkung Beginnen Sie mit der T...
Ein Freund in der Gruppe hat zuvor eine Frage ges...
Inhaltsverzeichnis Vorwort 1. Intranet DNS A-Eint...
In diesem Artikelbeispiel wird der spezifische Co...
Als ich in der Wertpapierfirma arbeitete, war ich ...