Zusammenfassung der Verwendung von drei For-Schleifenanweisungen in JavaScript (for, for...in, for...of)

Zusammenfassung der Verwendung von drei For-Schleifenanweisungen in JavaScript (for, for...in, for...of)

Vorwort

Jeder Entwickler, der mit JS in Berührung kommt, wird zwangsläufig mit der For-Schleife zu tun haben. Schließlich ist sie eines der wesentlichen Tools für die Durchquerung. Ich glaube, dass jeder die For-Schleifenanweisungen in JavaScript satt hat. Es gibt viele Artikel darüber, wie man die For-Schleifenanweisungen im Code reduzieren kann, aber man muss zugeben, dass sie wirklich nützlich sind. Heute werde ich drei For-Loop-Anweisungen im Front-End-JavaScript zusammenfassen.

für

Dies ist wahrscheinlich die am häufigsten verwendete Schleifenanweisung. Sie ist einfach und praktisch und ihre Ausführung ist die meiste Zeit noch online. Der einzige Nachteil ist, dass sie zu gewöhnlich ist und keine Eigenschaften aufweist, weshalb viele Leute sie derzeit nicht verwenden möchten.

const array = [4, 7, 9, 2, 6];
für (let index = 0; index < array.length; index++) {
    konstantes Element = Array[Index];
    konsole.log(element);
}
// 4, 7, 9, 2, 6

für...in

Die for...in-Anweisung kann alle aufzählbaren Eigenschaften eines Objekts (außer Symbol) in beliebiger Reihenfolge durchlaufen.

const temp = {name: "temp"};
Funktion Apfel() {
    diese.Farbe = "rot";
}

Apple.prototype = temp;

const obj = neues Apple();

für (const prop in obj) {
    Konsole.log(`obj.${ prop } = ${ obj[prop] }`);
}

// Objektfarbe = rot
// Objektname = temp

Wenn Sie sich nur für die Eigenschaften des Objekts selbst und nicht für dessen Prototyp interessieren, verwenden Sie getOwnPropertyNames() oder führen Sie hasOwnProperty() aus, um zu bestimmen, ob eine Eigenschaft eine Eigenschaft des Objekts selbst ist.

const temp = {name: "temp"};
Funktion Apple() {
    diese.Farbe = "rot";
}

Apple.prototype = temp;

const obj = neues Apple();

für (const prop in obj) {
    wenn (obj.hasOwnProperty(prop)) {
        Konsole.log(`obj.${ prop } = ${ obj[prop] }`);
    }
}

// Objektfarbe = rot

Natürlich kann es auch zum Durchlaufen eines Arrays verwendet werden.

const arr = [1, 2, 3, 4, 5];
für (const key in arr) {
    console.log(Schlüssel)
}
// 0,1,2,3,4

Sie können for...in verwenden, um ein Array zu durchlaufen, es treten dabei jedoch die folgenden Probleme auf:

  1. Index: Der Index ist eine Zeichenfolge (beachten Sie, keine Zahl) und kann nicht direkt für geometrische Operationen verwendet werden.
  2. Die Durchlaufreihenfolge muss nicht der internen Reihenfolge des tatsächlichen Arrays entsprechen (sie kann eine zufällige Reihenfolge aufweisen).

Daher ist es im Allgemeinen nicht empfehlenswert, for...in zum Durchlaufen eines Arrays zu verwenden.

für...von

Die for...of-Anweisung erstellt eine Iterationsschleife über ein iterierbares Objekt (einschließlich Array, Map, Set, String, TypedArray, Argumentobjekt usw.), ruft den benutzerdefinierten Iterations-Hook auf und führt Anweisungen für jeden unterschiedlichen Eigenschaftswert aus.

konstantes Array = ['a', 'b', 'c'];
für (const Element des Arrays) {
    konsole.log(element);
}

// A
// B
// C

Der Unterschied zwischen for...of und for...in:

  • Die for...in-Anweisung iteriert in beliebiger Reihenfolge über die aufzählbaren Eigenschaften eines Objekts.
  • Die for...of-Anweisung iteriert über das iterierbare Objekt, um die zu iterierenden Daten zu definieren.
Objekt.prototype.objCustom = Funktion () { };
Array.prototype.arrCustom = Funktion () { };

lass iterierbar = [3, 5, 7];
iterable.foo = "hallo";

für (const key in iterable) {
    console.log(Schlüssel); // protokolliert 0, 1, 2, „foo“, „arrCustom“, „objCustom“
}
// 0, 1, 2, "foo", "arrCustom", "objCustom"

für (const Schlüssel des Iterables) {
    console.log(Schlüssel);
}
// 3, 5, 7

Verwenden Sie for...of, um die Map-Struktur zu durchlaufen:

let nodes = neue Map();
Knoten.set("Knoten1", "t1")
    .set("Knoten2", "t2")
    .set("node3", "t3");

für (const [Knoten, Inhalt] von Knoten) {
    Konsole.log(Knoten, Inhalt);
}
// Knoten1 t1
// Knoten2 t2
// Knoten3 t3

Es ist ersichtlich, dass es recht praktisch ist, for...of zu verwenden, um die Map-Struktur zu durchlaufen. Es wird empfohlen, es zu verwenden!

Zusammenfassen

  1. Wenn Sie keine Lust mehr auf die Verwendung gewöhnlicher for-Schleifen haben, empfiehlt es sich, stattdessen for...of zu verwenden.
  2. Alle drei Schleifentypen können das Schlüsselwort „break“ verwenden, um die Schleife zu beenden, oder das Schlüsselwort „continued“, um die aktuelle Schleife zu überspringen.
  3. Die for...of-Schleife hat den breitesten Anwendungsbereich.

Damit ist dieser Artikel über die Verwendung von drei For-Loop-Anweisungen in JavaScript abgeschlossen. Weitere Informationen zu For-Loop-Anweisungen in JS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Unterschiede und Anwendungsbeispiele von for, for...in, for...of und forEach in JS
  • Analysieren des Unterschieds zwischen JavaScript für in und für of anhand von Beispielen
  • Zusammenfassung von Beispielen zur Verwendung von forEach-, for in- und for-Schleifen in js
  • Detaillierte Erklärung der JS-Traversierung (forEach, map, for, for...in, for...of)
  • Detaillierte Erklärung der Verwendung von for...in und for...of in Js
  • Eine kurze Analyse der Verwendung von map, filter, some, every, forEach, for in, for of in JS
  • Eine umfassende Analyse der Schleifenmethoden in JavaScript: forEach, for-in, for-of
  • Eine detaillierte Einführung in for/of, for/in in JavaScript

<<:  So entfernen Sie MySQL aus Ubuntu und installieren es neu

>>:  Lösungen für den schwarzen Bildschirm bei der Installation von Ubuntu (3 Arten)

Artikel empfehlen

Detaillierte Erklärung der Bedeutung von N und M im MySQL-Datentyp DECIMAL(N,M)

Ein Kollege fragte mich, was N und M im MySQL-Dat...

Detaillierte Erklärung zum effizienten MySQL-Paging

Vorwort Normalerweise wird für MySQL-Abfragen mit...

ReactHooks Batch-Update-Status und Abrufen von Routenparametern Beispielanalyse

Inhaltsverzeichnis 1. So führen Sie stapelweise U...

Implementierung von FIFO in der Linux-Prozesskommunikation

FIFO-Kommunikation (First In First Out) FIFO-Name...

Drei Prinzipien effizienten Navigationsdesigns, die Webdesigner kennen müssen

Das Entwerfen der Navigation für eine Website ist...

HTML CSS3 streckt den Bildanzeigeeffekt nicht

1. Verwenden Sie das Transform-Attribut, um das B...

Tutorial zur Installation, Bereitstellung und Verwaltung von KVM-Virtualisierung

Inhaltsverzeichnis 1.kvm-Bereitstellung 1.1 KVM-I...

8 Befehle zur effektiven Verwaltung von Prozessen in Linux

Vorwort Die Rolle des Prozessmanagements: Integri...

Vue.js implementiert Kalenderfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Vue verbessert die Seitenantwortgeschwindigkeit durch Lazy Loading

Inhaltsverzeichnis Überblick Was ist Lazy Loading...