Petlje u generatorima u JavaScript-u
Unutar generatora je moguće koristiti
petlje. Pritom možemo pauzirati petlje
pomoću yield. Hajde da
pogledamo na primeru. Pauziraćemo
petlju svake iteracije:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Dobićemo iterator:
let iter = func();
Proverimo rad našeg iteratora:
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}
Kreirajte iterator čiji će svaki poziv
vraćati brojeve od 10
do nule.
Napravite generator koji će kao parametar prihvatiti broj. Neka svaki poziv iteratora smanjuje broj za jedan, sve dok se ne dostigne nula.
Napravite generator koji će kao parametar prihvatiti broj. Neka svaki poziv iteratora smanji broj za pola i vrati rezultat. I tako, sve dok broj ne postane manji od jedan.
Napravite iterator čiji će svaki poziv vraćati sledeći stepen dvojke.
Napravite iterator čiji će svaki poziv vraćati sledeći Fibonačijev broj.