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:

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

Kapunk egy iterátort:

javascriptlet iter = func();

Ellenőrizzük az iterátorunk működését:

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

Hozzon létre egy iterátort, amely minden hívásakor a 10 számtól nulláig visszaadja a számokat.

Задание 2

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.

Задание 3

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.

Задание 4

Készítsen egy iterátort, amely minden hívásakor visszaadja a kettő következő hatványát.

Задание 5

Készítsen egy iterátort, amely minden hívásakor visszaadja a következő Fibonacci-számot.