JavaScript-da Generatorlar

Iteratorlarni yaratish uchun ishlatiladigan maxsus funksiyalar mavjud. Bunday funksiyalar generatorlar deb ataladi. Bunday funksiyalar nomi yulduzcha bilan boshlanishi kerak:

javascriptfunction *func() {
  
}

Generatorlar ichida yield kalit so'zi ishlatiladi, u iterator keyingi chaqiruvda nima qaytarishini ko'rsatadi. Misol uchun keling, birinchi chaqiruv 1 ni qaytarsin, ikkinchi - 2, uchinchi - 3:

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

Generator o'z natijasida iteratorni qaytaradi:

javascriptlet iter = func();

Keling, iteratorimizning ishlashini tekshiramiz:

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

Har bir chaqiruvida 5 dan 1 gacha bo'lgan sonlarni qaytaradigan iterator yarating.