JavaScript-de generatorlar

Öz iteratorylaryňyzy döretmek üçin ulanyp bolýan aýratyn funksiýalar bar. Şeýle funksiýalar generatorlar diýilýär. Şeýle funksiýalaryň adalary ýyldyz bilen başlamaly:

javascriptfunction *func() {
  
}

Generatorlaryň içinde yield açar sözi ulanylýar, iteratoryň indiki çagyryşynda näme gaýtarmalydygyny görkezýär. Mysal üçin ilkinji çagyryş 1, ikinji - 2, üçünji - 3 gaýtarsyn:

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

Generator netijesinde iterator gaýtarýar:

javascriptlet iter = func();

Geliň iteratorymyzyň işini barlaýaly:

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

Her çagyryşy 5 -dan 1-a çenli sanlary gaýtarýan iterator dörediň.