Generaatorid JavaScriptis

On olemas spetsiaalsed funktsioonid, mille abil saab luua oma iteraatoreid. Selliseid funktsioone nimetatakse generaatoriteks. Selliste funktsioonide nimed peavad algama tärniga:

javascriptfunction *func() {
  
}

Generaatorite sees kasutatakse võtmesõna yield, mis näitab seda, mida iteratior peaks tagastama järgmisel kutsul. Näiteks teeme nii, et esimene kutse tagastab 1, teine - 2, ja kolmas - 3:

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

Generaator tagastab oma tulemusena iteraatori:

javascriptlet iter = func();

Kontrollime meie iteratiivi tööd:

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

Looge iteraator, mille iga kutse tagastab numbrid 5 kuni 1.