Bucles en generadores en JavaScript
Dentro de los generadores se pueden utilizar
bucles. Al mismo tiempo, podemos pausar los bucles
usando yield. Veamos
un ejemplo. Pausaremos el bucle
en cada iteración:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Obtendremos un iterador:
let iter = func();
Comprobemos el funcionamiento de nuestro iterador:
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}
Cree un iterador, cada llamada del cual
devolverá números desde 10
hasta cero.
Cree un generador que acepte un número como parámetro. Que cada llamada del iterador disminuya el número en uno, hasta que se alcance el cero.
Cree un generador que acepte un número como parámetro. Que cada llamada del iterador reduzca el número a la mitad y devuelva el resultado. Y así, hasta que el número sea menor que uno.
Cree un iterador, cada llamada del cual devolverá la siguiente potencia de dos.
Cree un iterador, cada llamada del cual devolverá el siguiente número de Fibonacci.