Gelung dalam Penjana dalam JavaScript
Di dalam penjana, kita boleh menggunakan
gelung. Pada masa yang sama, kita boleh memberhentikan sementara gelung
menggunakan yield. Mari kita
lihat contohnya. Kita akan memberhentikan sementara
gelung pada setiap lelaran:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Dapatkan pengitar:
let iter = func();
Mari kita periksa kerja pengitar kami:
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}
Buat pengitar, di mana setiap panggilannya
akan mengembalikan nombor dari 10
hingga sifar.
Buat penjana yang menerima nombor sebagai parameter. Biarkan setiap panggilan pengitar mengurangkan nombor tersebut sebanyak satu, sehingga sifar dicapai.
Buat penjana yang menerima nombor sebagai parameter. Biarkan setiap panggilan pengitar mengurangkan nombor tersebut separuh dan mengembalikan hasilnya. Dan seterusnya, sehingga nombor tersebut menjadi kurang daripada satu.
Buat pengitar, di mana setiap panggilannya akan mengembalikan kuasa dua seterusnya.
Buat pengitar, di mana setiap panggilannya akan mengembalikan nombor Fibonacci seterusnya.