String -Iterationsmethoden in JavaScript

String -Iterationsmethoden in JavaScript

In JavaScript ist ein String -Iterator eine Methode, die es ermöglicht, die in einer Zeichenfolge vorhandenen Zeichen zu durchqueren. Durch die Verwendung des JavaScript -String -Iterators aktivieren wir die in unserem Code hinzugefügte Zeichenfolge, um ihr benutzerdefiniertes Iterationsverhalten zu definieren. Um einen String-Iterator zu erstellen, können Sie entweder das integrierte JavaScript verwendenString @@ Iterator -Methode”Oder entscheiden Sie sich für den benutzerdefinierten String-Iterator, der mit Hilfe des“ erstellt werden kannGeneratoren”.

In diesem Artikel werden die String-Iterationsmethoden in JavaScript diskutiert. Darüber hinaus werden auch die Beispiele zur String @@ Iterator -Methode und JavaScript -Generatoren demonstriert. So lass uns anfangen!

String @@ Iterator -Methode in JavaScript

Mit der String -Iterationsmethode in JavaScript können Sie die hinzugefügte Zeichenfolge in Ihrem Programm iterieren. Sie können jede Zeichenfolge iterbar machen, indem Sie die implementieren “@@ Iterator" Methode. Die Saite "@@ IteratorDie Methode gibt ein Iteratorobjekt zurück, das über den gesamten Code auf die hinzugefügte Zeichenfolge iteriert.

Der "String [@@ Iterator]Methode ist eine integrierte JavaScript-Eigenschaft einer Zeichenfolge. Indem Sie das anrufen "@@ Iterator”String -Eigenschaft, Sie können einen String -Iterator erstellen und anstelle von“@@ Iterator,"Sie müssen die" nutzen "Symbol.Iterator”Als konstant.

Syntax der String -Iterator -Methode

var iterator = str [Symbol.Iterator] ();

Hier, "Iterator"Ist der Name für unseren String -Iterator, und die Zeichenfolge, die iteriert werden muss, wird als" als "dargestellt"str”.

Verwenden der String @@ Iterator -Methode mit next ()

In Ihrem JavaScript -Code können Sie Ihr String -Iterator -Objekt mit der Methode „Next ()“ abrufen. Die Methode „Next ()“ gibt die Schlüssel aus "Wert" und "fertig", das umfasst einen Booleschen Wert. Der Wertschlüssel enthält den aktuellen Schlüsselwert. Der fertiggestellte Schlüssel gibt an, dass, wenn der Wert abgerufen wird oder nicht, mit dem "richtig und falsch" Wert, wo “WAHR„Stellt dar, dass der Iterationsprozess abgeschlossen ist und“FALSCHBedeutet, dass es mehr Werte für die Iteration gibt.

Schauen wir uns nun einige JavaScript -Beispiele an, die sich auf die String @@ Iterator -Methode beziehen.

Beispiel 1: Verwenden der String @@ Iterator -Methode ohne Schleife

In diesem Beispiel wird angezeigt, wie Sie die Zeichenfolge @@ Iterator in Ihrem JavaScript -Programm verwenden, um eine bestimmte Zeichenfolge zu iterieren. Zu diesem Zweck werden wir zunächst miteinander streiten 'Mn'als Wert:

var str = 'mn';

Im nächsten Schritt erstellen wir einen String -Iterator für unsere ““strZeichenfolge:

var iterator = str [Symbol.Iterator] ();

Wenn Sie keine Schleifen für die Iteration verwenden möchten, müssen Sie die aufrufen “nächste()Methode gemäß der Länge Ihrer Zeichenfolge. Zum Beispiel werden wir das ausführenIterator.nächste()Dreimal Methode. In den ersten zwei Malen die “Erledigt"Wert gibt falsch zurück, und wenn wir die angegebene Methode ein drittes Mal aufrufen, wird sie zurückgegeben"WAHR”Wenn die Iteration abgeschlossen ist und kein Wert zur Iterate übrig bleibt:

Konsole.Protokoll (Iterator.nächste()); // value: "m", fertig: false
Konsole.Protokoll (Iterator.nächste()); // value: "n", fertig: false
Konsole.Protokoll (Iterator.nächste()); // value: undefiniert, fertig: true

Schauen Sie sich den bereitgestellten Code und seine Ausgabe an:

Beispiel 2: Verwenden der String @@ Iterator -Methode mit für die Schleife

Sie können auch verwenden “Schleifen”Um die wiederholte Aufgabe der String -Iteration zu behandeln. Will wissen wie? Wenn ja, befolgen Sie das untergegebene Beispiel.

Erstens werden wir eine Zeichenfolge definieren “str"Für die wir eine Zeichenfolge erstellen wollen"Iterator”:

const str = 'mnm';
const iterator = str [Symbol.Iterator] ();

Als nächstes werden wir den Wert der “zuweisen“Iterator.nächste()”Funktion zu unserer“Thechar”Variable:

Lassen Sie Thechar = Iterator.nächste();

Dann werden wir ein einfaches hinzufügen “Für Schleife,"Die den Iterator gemäß der Eigenschaft der String Länge ausführt"str.Länge”. Für jede Iteration der für die Schleife werden der Schlüsselwert und der fertiggestellte Wert im Fenster Konsolen und der “angezeigtThechar”Wechseln Sie dann zur nächsten String -Iteration:

für (lass i = 0; i < str.length ;i++)
Konsole.log (thechar.Wert, Thechar.Erledigt);
thechar = iterator.nächste();

Hier ist das vollständige Aussehen des bereitgestellten Beispiels zusammen mit seiner Ausgabe:

Beispiel 3: Verwenden der String @@ Iterator -Methode mit für… von Loop

Mit der für… der Schleife können Sie die @@ Iterator -Methode verwenden, um die String -Daten zu iterieren. Für jede für die Loop-Iteration müssen Sie das nennen “Weiter () Methode.Wert”Für den Iterationszweck.

Zum Beispiel haben wir eine einfache Zeichenfolge mit dem definiert von “definiert“Mnm”Als Wert in unserem JavaScript -Programm:

const str = 'mnm';

Im nächsten Schritt erstellen wir einen String -Iterator für unsere hinzugefügten “strZeichenfolge:

const iterator = str [Symbol.Iterator] ();

Danach werden wir den Iteratorwert dem “zuweisen“Thechar"Variable, die ihren Wert mit der" itereriert "nächste()Methode in der für Schleife:

const iterator = str [Symbol.Iterator] ();

Zuletzt können Sie das hinzufügen “für… von"Schleife, um über die" zu iterieren "strZeichenfolge wie folgt:

// durch Verwendung der für die Schleife
Konsole.Log ("Iterating mit for-Loop:")
für (let i of str)

Konsole.Protokoll (i)

Das untergegebene Bild zeigt die Ausgabe unseres JavaScript-Programms:

Generatoren in JavaScript

Generatoren sind eine weitere hilfreiche Funktion von JavaScript, mit der Sie eine Funktion definieren und dann zum Erstellen des String -Iterators verwenden können. Dieses Verfahren ist weniger fehlerhaft und bietet eine effiziente Möglichkeit, String -Iteratoren zu erstellen.

Syntax von Generatoren

Um den Generator in Ihrem JavaScript-Programm zu verwenden, müssen Sie der folgenden Syntax folgen:

Funktion* ()
Ergeben Sie "Charakter1"
ergeben "charakter2"

Hier, "*”Zeigt an, dass wir eine anonyme Funktion erstellen. Das Keyword "Ertrag”Wird hinzugefügt, um die Ausführung zu funktionieren und gibt das Iteratorobjekt zurück. Danach wird es wieder seinen Betrieb wieder aufnehmen.

Beispiel: Erstellen des benutzerdefinierten String-Iterators in JavaScript

In JavaScript können Sie auch einen benutzerdefinierten String-Iterator erstellen, indem Sie Generatoren verwenden. Um dies zu tun, erstellen Sie zunächst eine “Myiterator" Objekt:

var myiterator = ;

Definieren Sie nun die Generatorfunktion, während der Punkt angibt, an dem die Ausführung mit dem "Pause wird"Ertrag" Stichwort. Auch wenn die Generatorfunktion aufgerufen wird, ist eine “genanntDie Zeichenfolge wird in unserem Konsolenfenster angezeigt:

Myiterator [Symbol.Iterator] = Funktion*()
Konsole.log ("genannt");
ergeben "m";
ergeben "n";
ergeben "o";
;
[… Myiterator];

Nach diesem Punkt werden alle Feldwerte zum "hinzugefügt" hinzugefügtMyiterator" Objekt:

Konsole.log ("Felder hinzugefügt");
Konsole.log (myiterator);

Hier ist die Ausgabe, die wir durch die Ausführung des oben gegebenen Beispiels erhalten haben:

Abschluss

Mit der String @@ Iterator -Methode und den Generatoren können Sie den String -Iteration -Prozess einfach in JavaScript ausführen. Die String @@ Iterator -Methode implementiert das Iterator -Protokoll, einschließlich der nächsten () -Methode, die die Zeichen aus der Sammlung mit zwei Eigenschaftenwert zurückgibt und ausgeführt wird. Mit Generatoren können Sie eine benutzerdefinierte String-Iterationsmethode erstellen, bei der Sie den Pausing-Punkt für die Iteration entsprechend Ihren Anforderungen hinzufügen können. In diesem Aufschreiben wurden in JavaScript besprochene String-Iterationsmethoden diskutiert. Darüber hinaus werden die Beispiele zur String @@ Iterator -Methode und Generatoren demonstriert.