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:

javascriptfunction *func() {
  for (let i = 1; i <= 3; i++) {
    yield i;
  }
}

Obtendremos un iterador:

javascriptlet iter = func();

Comprobemos el funcionamiento de nuestro iterador:

javascriptconsole.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}
Задание 1

Cree un iterador, cada llamada del cual devolverá números desde 10 hasta cero.

Задание 2

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.

Задание 3

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.

Задание 4

Cree un iterador, cada llamada del cual devolverá la siguiente potencia de dos.

Задание 5

Cree un iterador, cada llamada del cual devolverá el siguiente número de Fibonacci.