Ҳалқаҳо дар генераторҳо дар 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
то сифр баргардонад.
Генератор созед, ки параметр рақамро қабул кунад. Бигзор ҳар даъват итератор рақамро як воҳид коҳиш диҳад, то он даме ки сифр ба даст ояд.
Генератор созед, ки параметр рақамро қабул кунад. Бигзор ҳар даъват итератор рақамро ду баробар коҳиш диҳад ва натиҷаро баргардонад. Ва ҳамин тавр, то рақам аз як хурдтар шавад.
Итератор созед, ки ҳар даъвати он дараҷаи навбатии дуро баргардонад.
Итератор созед, ки ҳар даъвати он рақами навбатии Фибоначчиро баргардонад.