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:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Dobili bomo iterator:
let iter = func();
Preverimo delovanje našega iteratorja:
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}
Ustvarite iterator, katerega klic
bo vračal števila od 10
do nič.
Naredite generator, ki bo kot parameter sprejel število. Naj vsak klic iteratorja zmanjša število za ena, dokler ne bo dosežena ničla.
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.
Naredite iterator, katerega klic bo vračal naslednjo potenco števila dva.
Naredite iterator, katerega klic bo vračal naslednje Fibonaccijevo število.