Was sind Iteratoren in JavaScript?

Was sind Iteratoren in JavaScript?
JavaScript bietet verschiedene Möglichkeiten, durch eine Sammlung von Objektwerten wie Schleifen zu iterieren. Jedoch, Iteratoren werden eingeführt in JavaScript 1.7, Dies liefert einen Mechanismus, um das Verhalten von anzupassen für jede Und für in Schleifen und integriert das Konzept der Iteration in die Kernsprache.

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];
für (lass x des Zählens)
Konsole.log (x);

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';
für (const rep of to arbeitende)
Konsole.log (prop);

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”:

  • Iterables: Iterables sind die Objekte, die die implementieren “Iterator ()Iterationsmethode i.e. Array oder String.
  • Iteratoren: Das von der zurückgegebene Objekt “Iterator ()"Methode ist als" bekannt "Iterator“. Nachdem Sie den Iterator erhalten haben, können Sie das verwenden “nächste()Methode zum nachfolgenden Zugriff auf iterbare Elemente.

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:

  • Der "Wert”Eigenschaft repräsentiert den aktuellen Wert in der Iterationssequenz und kann von jedem Datentyp sein.
  • Der "Erledigt"Eigenschaft wird verwendet, um den Iterationsstatus darzustellen, wobei"FALSCH"Bedeutet, dass die Iteration nicht vollständig ist und"WAHR”Zeigt an, dass der Iterationsprozess abgeschlossen ist.

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)
Sei number = 0;
zurückkehren
nächste()
if (Nummer < array.length)
zurückkehren
Wert: Array [Nummer ++],
fertig: false

zurückkehren
Wert: undefiniert,
fertig: true


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'];
const arRiterator = showElements (Array);

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());
Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
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:

const arr1 = ['l', 'i', 'n', 'u', 'x'];

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] ();
Konsole.log (Arriterator);

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:

const array = ['l', 'i', 'n', 'u', 'x'];
Sei Arriterator = Array [Symbol.Iterator] ();

Das anrufen “nächste()"Wird auch ein Objekt mit" mit "zurückgeben"Wert" Und "ErledigtEigenschaftswerte:

Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
Konsole.Protokoll (Arriterator.nächste());
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'];
Sei Arriterator = Array [Symbol.Iterator] ();
Sei text = ""
while (wahr)
const Ergebnis = Arriterator.nächste();
if (Ergebnis.fertig) Pause;
Konsole.log ("Wert:"+ Ergebnis.Wert + "fertig:" + Ergebnis.Erledigt);

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.