Ģeneratori JavaScript

Ir īpašas funkcijas, ar kuru palīdzību var izveidot savus iteratorus. Tādas funkcijas sauc par ģeneratoriem. Šādu funkciju nosaukumiem jāsākas ar zvaigznīti:

javascriptfunction *func() {
  
}

Ģeneratoru iekšpusē tiek izmantots atslēgvārds yield, kas norāda to, ko iterators jāatgriež nākamajā izsaukumā. Piemēram padarīsim, lai pirmais izsaukums atgrieztu 1, otrais - 2, un trešais - 3:

javascriptfunction *func() {
  yield 1;
  yield 2;
  yield 3;
}

Ģenerators savā rezultātā atgriež 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, kura katrs izsaukums atgriezīs skaitļus no 5 līdz 1.