Schleifen in Generatoren in JavaScript
Innerhalb von Generatoren können
Schleifen verwendet werden. Dabei können wir
Schleifen mit yield pausieren. Lassen Sie uns
ein Beispiel betrachten. Wir pausieren die
Schleife bei jeder Iteration:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Wir erhalten einen Iterator:
let iter = func();
Lassen Sie uns die Funktion unseres Iterators überprüfen:
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Erstellen Sie einen Iterator, dessen jeder Aufruf
Zahlen von 10
bis Null zurückgibt.
Erstellen Sie einen Generator, der eine Zahl als Parameter entgegennimmt. Jeder Aufruf des Iterators soll die Zahl um eins verringern, bis Null erreicht ist.
Erstellen Sie einen Generator, der eine Zahl als Parameter entgegennimmt. Jeder Aufruf des Iterators soll die Zahl halbieren und das Ergebnis zurückgeben. Und so weiter, bis die Zahl kleiner als Eins ist.
Erstellen Sie einen Iterator, dessen jeder Aufruf die nächste Potenz von Zwei zurückgibt.
Erstellen Sie einen Iterator, dessen jeder Aufruf die nächste Fibonacci-Zahl zurückgibt.