JavaScript-тегі генераторлар
Өз итераторларыңызды жасауға мүмкіндік беретін арнайы функциялар бар. Мұндай функциялар генераторлар деп аталады. Мұндай функциялардың атаулары жұлдызшадан басталуы керек:
function *func() {
}
Генераторлардың ішінде yield кілт сөзі қолданылады,
ол итератор келесі шақыруда
не қайтаруы керектігін көрсетеді.
Мысал ретінде
бірінші шақыру 1, екінші - 2,
ал үшінші - 3 қайтарсын:
function *func() {
yield 1;
yield 2;
yield 3;
}
Генератор нәтиже ретінде итераторды қайтарады:
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}
Әр шақыруы 5-тен 1-ге дейінгі
сандарды қайтаратын итератор жасаңыз.