Generatoriai JavaScript'e

Yra specialios funkcijos, kurių pagalba galima kurti savus iteratorius. Tokios funkcijos vadinamos generatoriais. Tokių funkcijų pavadinimai turi prasidėti žvaigždute:

javascriptfunction *func() {
  
}

Generatoriaus viduje naudojamas raktinis žodis yield, nurodantis tai, ką iteratorius turi grąžinti sekantį kartą. Pavyzdžiui padarykime, kad pirmas kartas grąžintų 1, antras - 2, o trečias - 3:

javascriptfunction *func() {
  yield 1;
  yield 2;
  yield 3;
}

Generatorius savo rezultatu grąžina iteratorius:

javascriptlet iter = func();

Patikrinkime mūsų iteratoriaus veikimą:

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

Sukurkite iteratorius, kurio kiekvienas kartas grąžins skaičius nuo 5 iki 1.