JavaScript-тегі генераторлардағы циклдар
Генераторлардың ішінде циклдарды
қолдануға болады. Бұл ретте біз циклдарды
yield көмегімен тоқтата аламыз. Мысалға
қарайық. Циклды әрбір итерацияда тоқтатайық:
javascriptfunction *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Итераторды аламыз:
javascriptlet iter = func();
Итераторымыздың жұмысын тексерейік:
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
Әр шақыруы 10-нан нөлге дейінгі
сандарды қайтаратын итератор жасаңыз.
Задание 2
Параметр ретінде сан қабылдайтын генератор жасаңыз. Итератордың әрбір шақыруы нөлге жеткенге дейін санды бірге азатсын.
Задание 3
Параметр ретінде сан қабылдайтын генератор жасаңыз. Итератордың әрбір шақыруы санды екі есе азайтып, нәтижені қайтарсын. Сан бірден кіші болғанша осылай жалғасасын.
Задание 4
Әрбір шақыруы екінің келесі дәрежесін қайтаратын итератор жасаңыз.
Задание 5
Әрбір шақыруы келесі Фибоначчи санын қайтаратын итератор жасаңыз.