JavaScript-də Generator Funksiyalarında Dövrlər
Generatorların daxilində
dövrlərdən istifadə etmək olar.
Bu zaman biz yield vasitəsilə
dövrləri dayandıra bilərik. Gəlin
bir nümunəyə baxaq. Hər iterasiyada
dövrü dayandıraq:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
İteratoru əldə edək:
let iter = func();
İteratorumuzun işini yoxlayaq:
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-dan sıfıra qədər
ədədləri qaytaran iterator yaradın.
Parametr kimi ədəd qəbul edən generator hazırlayın. İteratorun hər çağırılışı ədədi bir vahid azaltsın, sıfıra çatana qədər.
Parametr kimi ədəd qəbul edən generator hazırlayın. İteratorun hər çağırılışı ədədi iki dəfə azaltsın və nəticəni qaytarsın. Və bu, ədəd birdən kiçik olana qədər davam etsin.
Hər çağırılışında növbəti iki qüvvətini qaytaran iterator hazırlayın.
Hər çağırılışında növbəti Fibonaççi ədədini qaytaran iterator hazırlayın.