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.