Einführung
In diesem Lab werden wir das Konzept von Generatoren in JavaScript erkunden und lernen, wie wir einen Zyklusgenerator erstellen, der unendlich über ein Array iteriert. Wir werden das yield-Schlüsselwort und eine while-Schleife verwenden, um den Generator zu erstellen, und dann mit verschiedenen Arrays testen, um zu sehen, wie er funktioniert. Am Ende dieses Labs werden Sie ein tieferes Verständnis von Generatoren und ihrer Verwendung in Ihren JavaScript-Projekten haben.
Anweisungen für den Zyklusgenerator
Um mit der Programmierung zu beginnen, öffnen Sie das Terminal/SSH und geben Sie node ein. Anschließend erstellen Sie einen Generator, der unendlich über das gegebene Array iteriert. Hier sind die Schritte:
- Verwenden Sie eine nicht endende
while-Schleife, die jedes Mal, wennGenerator.prototype.next()aufgerufen wird, einen Wertyieldgibt. - Verwenden Sie den Modulo-Operator (
%) mitArray.prototype.length, um den Index des nächsten Werts zu erhalten und den Zähler nach jederyield-Anweisung zu erhöhen.
Hier ist ein Beispiel für die cycleGenerator-Funktion:
const cycleGenerator = function* (arr) {
let i = 0;
while (true) {
yield arr[i % arr.length];
i++;
}
};
Sie können die Funktion dann wie folgt verwenden:
const binaryCycle = cycleGenerator([0, 1]);
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
Mit diesen Anweisungen können Sie einen Zyklusgenerator erstellen, der unendlich über jedes Array iteriert.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Zyklusgenerator" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.