JavaScript'te Jeneratörlerde Döngüler
Jeneratörlerin içinde
döngüler kullanılabilir.
Bu durumda, döngüleri
yield ile duraklatabiliriz.
Hadi bir örnekle görelim.
Döngüyü her yinelemede
duraklatacağız:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
İteratörü alalım:
let iter = func();
İteratörümüzün çalışmasını kontrol edelim:
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}
Her çağrıldığında 10'dan
sıfıra kadar sayıları döndüren
bir iteratör oluşturun.
Parametre olarak bir sayı alan bir jeneratör yapın. İteratörün her çağrılışı, sıfıra ulaşılana kadar sayıyı bir azaltsın.
Parametre olarak bir sayı alan bir jeneratör yapın. İteratörün her çağrılışı, sayıyı ikiye bölsün ve sonucu döndürsün. Sayı birden küçük olana kadar bu şekilde devam etsin.
Her çağrıldığında bir sonraki iki üssünü döndüren bir iteratör yapın.
Her çağrıldığında bir sonraki Fibonacci sayısını döndüren bir iteratör yapın.