Wenn Sie einer gut eingekapselten und benutzerdefinierten Datenstruktur native iterative Funktionen hinzufügen müssen, sollten Sie JavaScript-Iteratoren verwenden. Es kann als elegantere Möglichkeit angesehen werden, Ihre benutzerdefinierten Objekte zu standardisieren.
Diese Beschreibung wird diskutieren Iteratoren In JavaScript. Wir werden auch die Verwendung von Iteratoren, iterablen, Next () Methoden und benutzerdefinierten Iteratoren demonstrieren. So lass uns anfangen!
Iteration in JavaScript
In JavaScript, Wiederholung ist ein Verfahren, bei dem eine Sammlung von Strukturen oder Anweisungen in einer Sequenz für eine vorgegebene Anzahl von Male wiederholt wird oder bis die zugesetzte Bedingung wahr ist. Sie können verwenden Schleifen zum Ieserieren der angegebenen Anweisungen.
Zum Beispiel haben wir ein Array deklariert “Zählen"Und mit Hilfe des"für… vonLoop, wir werden über das angegebene Array iterieren:
const counting = [1, 2, 3];Infolgedessen wird jeder Wert zurückgegeben und als Ausgabe angezeigt:
Schauen wir uns nun die Methode zum Iterieren über ein JavaScript -Objekt an. Zu diesem Zweck werden wir zunächst ein mit dem Namen benannter Objekt deklarieren “Mitarbeiter”Und dann benutzen für… von Schleife zum Iterieren über seine Eigenschaften:
const Mitarbeiter = Name: 'Alex', Bezeichnung: 'Manager';Wie Sie sehen können, zeigte die Ausgabe des oben gegebenen Codes ein “an"Typeerror”Nachricht, die besagt, dass die“MitarbeiterObjekt ist nicht wiederholbar. Warum passiert das? Wir haben den TypenError gestoßen, weil die für… der Schleife erfordert ein iterables Objekt, um die Eigenschaften des Objekts zu iterieren.
Um die aktuelle Situation zu bewältigen, können Sie das JavaScript -Iteration -Protokoll verwenden, mit dem Sie ein Objekt für die Iterierung über seine Eigenschaften iterbar machen können.
JavaScript -Iterationsprotokoll
JavaScript bietet ein Iterationsprotokoll zum Iterieren über Objekte. Dieses Protokoll gibt das Iterationsverfahren an, das mit “für… von “ Schleife. JavaScript -Iteratoren sind in zwei Komponenten unterteilt: “Iterables" Und "Iteratoren”:
Es kann für Sie schwierig sein, die Verwendung dieser Methoden auf einen Blick zu verstehen.
Weiter () Methode in JavaScript
“nächste()Ist eine Iterator -Objektmethode, die für die Rückgabe des nächsten Wertes in der Iterationssequenz aufgerufen wird. Diese Methode umfasst die folgenden zwei Eigenschaften:
Definieren wir einen benutzerdefinierten Iterator in JavaScript und greifen wir auf die Elemente eines Arrays nacheinander zu, indem Sie die next () -Methode verwenden.
Erstellen eines benutzerdefinierten Iterators in JavaScript
Mit JavaScript können Sie einen benutzerdefinierten Iterator erstellen und das aufrufen “nächste()Methode zum Zugriff auf die Elemente des iterbaren Objekts.
Hier haben wir die "definiert"showElement ()Methode und es wird das zurückgeben "Wert" Und "ErledigtEigenschaft des iterbaren Objekts, das als Argument akzeptiert wird:
Funktionshowelemente (arr)Im nächsten Schritt werden wir eine erstellen “Array"Und dann an die" weitergeben "showElement ()Methode als Argument. Dann ist die "showElements ()"Methode gibt ein iterables Objekt zurück, in das wir speichern werden"Arriterator”:
const array = ['l', 'i', 'n', 'u', 'x'];Jedes Mal, wenn das “nächste()"Methode wird mit dem" aufgerufen "Arriterator”, Es wird die Werte des Array -Elements in einer Sequenz mit dem definierten angezeigtWert" Und "Erledigt" Eigenschaften:
Konsole.Protokoll (Arriterator.nächste());Wenn alle Elemente iteriert werden, die “Wert"Eigenschaftswert wird auf" festgelegt "nicht definiert", mit "ErledigtEigentum als "WAHR”:
Die oben gegebene Ausgabe bedeutet, dass wir einen benutzerdefinierten Iterator in unserem Programm mit der next () -Methode erfolgreich erstellt und ausgeführt haben. Lassen Sie uns nun auch das Konzept von iTerables verstehen und ein klares und tiefgreifendes Verständnis für Symbol.Iterator () In JavaScript
Beispiel: Erstellen von Iteratoren aus Iterables mit Symbol.Iterator () Methode in JavaScript
In diesem Beispiel werden wir zunächst ein Array mit den folgenden drei Werten deklarieren:
Dann werden wir die “aufrufen“Symbol.Iterator ()"Methode, die ein iterables Objekt zurückgibt und"Arriterator”Wird seinen Wert speichern:
const agriterator = arr1 [Symbol.Iterator] ();Die Ausführung des oben gegebenen Programms gibt die Array-Iteratoren aus:
Beispiel: Verwenden Sie die Methode "Next () über ein iterables Objekt in JavaScript
Dieses Beispiel zeigt die Verwendung von “nächste()Methode zum Iterieren über ein iterierbares Objekt. Zuallererst werden wir eine erstellen “ArrayUnd dann auf den "aufzurufen"Symbol.Iterator ()Methode zur Rückgabe eines iterbaren Objekts:
Das anrufen “nächste()"Wird auch ein Objekt mit" mit "zurückgeben"Wert" Und "ErledigtEigenschaftswerte:
Konsole.Protokoll (Arriterator.nächste());Am Ende der Iterationssequenz die “Erledigt”Eigentum der“nächste()"Methode wird auf" gesetzt "FALSCH”:
Beispiel: Iterien durch Iterien mit dem Zeitpunkt der Schleife in JavaScript
Der Symbol.Iterator () Die Methode wird automatisch von der für… der Schleife aufgerufen. Wenn Sie es manuell aufrufen möchten, können Sie die „verwenden“währendSchleife zum Iterieren über dem angegebenen iterablen Objekt.
Zum Beispiel werden wir im folgenden Beispiel die „verwenden“während"Schleife zum Iterieren über die iterablen Objekte, die von der" zurückgegeben werden "Symbol.Iterator ()" Methode:
const array = ['l', 'i', 'n', 'u', 'x'];Hier zeigt die Ausgabe das zurückgegebene Ergebnis mit “Wert" Und "ErledigtIteratoreigenschaften:
Schauen Sie sich das folgende Diagramm an, um die Beziehung zwischen iterierenden, nächsten () Methoden und Iteratoren in JavaScript zu verstehen:
Das drehte sich um die grundlegende Verwendung von Iteratoren in JavaScript. Sie können es nach Ihren Vorlieben weiter untersuchen.
Abschluss
Iteratoren in JavaScript werden zum Schleifen über eine Folge von Objektwerten verwendet, die vom Symbol zurückgegeben werden.Iterator () Methode. Dieser Prozess beinhaltet auch die Implementierung der nächsten () -Methode, die ein Objekt mit dem Wert und den fertiggestellten Eigenschaften zurückgibt, wobei “Wert"Repräsentiert den aktuellen Sequenzwert und"ErledigtBestimmt, ob die Iteration abgeschlossen ist oder nicht. In diesem Artikel wurden JavaScript-Iteratoren mit Hilfe geeigneter Beispiele besprochen.