Ciklusok generátorokban JavaScriptben
A generátorok belsejében használhatunk
ciklusokat. Eközben megállíthatjuk a ciklusokat
a yield segítségével. Nézzük
meg egy példán. Állítsuk meg a
ciklust minden iterációnál:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Kapunk egy iterátort:
let iter = func();
Ellenőrizzük az iterátorunk működését:
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}
Hozzon létre egy iterátort, amely minden hívásakor
a 10 számtól nulláig visszaadja a számokat.
Készítsen egy generátort, amely paraméterként egy számot vesz fel. Minden iterátorhívás csökkentse a számot eggyel, amíg el nem éri a nullát.
Készítsen egy generátort, amely paraméterként egy számot vesz fel. Minden iterátorhívás felezze a számot és adja vissza az eredményt. És így tovább, amíg a szám nem lesz egynél kisebb.
Készítsen egy iterátort, amely minden hívásakor visszaadja a kettő következő hatványát.
Készítsen egy iterátort, amely minden hívásakor visszaadja a következő Fibonacci-számot.