Boucles dans les générateurs en JavaScript
À l'intérieur des générateurs, il est possible d'utiliser
des boucles. En même temps, nous pouvons mettre les boucles
en pause à l'aide de yield. Regardons
un exemple. Nous mettrons la boucle
en pause à chaque itération :
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Nous obtiendrons un itérateur :
let iter = func();
Vérifions le fonctionnement de notre itérateur :
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}
Créez un itérateur dont chaque appel
retournera les nombres de 10
à zéro.
Créez un générateur qui prendra un nombre comme paramètre. Que chaque appel de l'itérateur diminue le nombre de un, jusqu'à ce que zéro soit atteint.
Créez un générateur qui prendra un nombre comme paramètre. Que chaque appel de l'itérateur divise le nombre par deux et retourne le résultat. Et ainsi de suite, jusqu'à ce que le nombre devienne inférieur à un.
Créez un itérateur dont chaque appel retournera la puissance de deux suivante.
Créez un itérateur dont chaque appel retournera le nombre de Fibonacci suivant.