Zanke v generatorjih v JavaScript

Znotraj generatorjev je mogoče uporabljati zanke. Pri tem lahko postavimo zanke na pavzo z uporabo yield. Poglejmo si primer. Postavili bomo zanko na pavzo ob vsaki iteraciji:

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

Dobili bomo iterator:

javascriptlet iter = func();

Preverimo delovanje našega iteratorja:

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

Ustvarite iterator, katerega klic bo vračal števila od 10 do nič.

Задание 2

Naredite generator, ki bo kot parameter sprejel število. Naj vsak klic iteratorja zmanjša število za ena, dokler ne bo dosežena ničla.

Задание 3

Naredite generator, ki bo kot parameter sprejel število. Naj vsak klic iteratorja zmanjša število za polovico in vrne rezultat. In tako naprej, dokler število ne postane manjše od ena.

Задание 4

Naredite iterator, katerega klic bo vračal naslednjo potenco števila dva.

Задание 5

Naredite iterator, katerega klic bo vračal naslednje Fibonaccijevo število.