Ģ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.