Cikli generatoros JavaScript

Generatoros var izmantot ciklus. Šajā gadījumā mēs varam apturēt ciklus izmantojot yield. Apskatīsim piemērā. Apturēsim ciklu katrā iterācijā:

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

Iegūstam iteratoru:

javascriptlet iter = func();

Pārbaudīsim mūsu iteratora darbību:

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

Izveidojiet iteratoru, kurā katrs izsaukums atgriezīs skaitļus no 10 līdz nullei.

Задание 2

Izveidojiet generatoru, kurš parametru paņems skaitli. Lai katrs iteratora izsaukums samazina skaitli par vienu, līdz tiks sasniegta nulle.

Задание 3

Izveidojiet generatoru, kurš parametru paņems skaitli. Lai katrs iteratora izsaukums samazina skaitli uz pusi un atgriež rezultātu. Un tā, kamēr skaitlis nekļūst mazāks par vienu.

Задание 4

Izveidojiet iteratoru, kurā katrs izsaukums atgriezīs nākamo pakāpi diviem.

Задание 5

Izveidojiet iteratoru, kurā katrs izsaukums atgriezīs nākamo Fibonači skaitli.