JavaScript да генераторлардаги цикллар
Генераторлар ичида цикллардан
фойдаланиш мумкин. Бунда биз циклни
ҳар бир такрорлашда yield ёрдамида
вақтинча тўхтатишимиз мумкин. Келинг
бир мисол кўриб чиқайлик. Циклни
ҳар бир такрорлашда тўхтатамиз:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Итератор оламиз:
let iter = func();
Итераторимизнинг ишлашини текширамиз:
console.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}
Ҳар чақириғида 10 дан нолгача
бўлган сонларни қайтарадиган итератор
яратинг.
Параметр сифатида сон қабул қиладиган генератор яратинг. Итераторнинг ҳар чақириғи нолга етишига қадар сонни бирга камайтирсин.
Параметр сифатида сон қабул қиладиган генератор яратинг. Итераторнинг ҳар чақириғи сонни икки баробарга камайтириб, натижани қайтарсин. Ва шундай қилиб, сон бирдан кичик бўлгунгача давом этсин.
Ҳар чақириғи кейинги иккининг даражасини қайтарадиган итератор яратинг.
Ҳар чақириғи кейинги Фибоначчи sonini қайтарадиган итератор яратинг.