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:

javascriptfunction *func() {
  for (let i = 1; i <= 3; i++) {
    yield i;
  }
}

Dapatkan pengitar:

javascriptlet iter = func();

Mari kita periksa kerja pengitar kami:

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

Buat pengitar, di mana setiap panggilannya akan mengembalikan nombor dari 10 hingga sifar.

Задание 2

Buat penjana yang menerima nombor sebagai parameter. Biarkan setiap panggilan pengitar mengurangkan nombor tersebut sebanyak satu, sehingga sifar dicapai.

Задание 3

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.

Задание 4

Buat pengitar, di mana setiap panggilannya akan mengembalikan kuasa dua seterusnya.

Задание 5

Buat pengitar, di mana setiap panggilannya akan mengembalikan nombor Fibonacci seterusnya.