JavaScript-də Generatorlar

Öz iteratorlarınızı yaratmaq üçün istifadə edilə bilən xüsusi funksiyalar var. Belə funksiyalar generatorlar adlanır. Belə funksiyaların adları ulduz işarəsi ilə başlamalıdır:

javascriptfunction *func() {
  
}

Generatorların daxilində yield açar sözü istifadə olunur, bu, iteratorun növbəti çağırışda nə qaytarmalı olduğunu göstərir. Nümunə üçün gəlin birinci çağırışın 1, ikinci - 2, üçüncü - 3 qaytarmasını təmin edək:

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

Generator öz nəticəsi kimi iterator qaytarır:

javascriptlet iter = func();

Gəlin iteratorumuzun işini yoxlayaq:

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

Hər çağırışı 5-dən 1-ə qədər rəqəmlər qaytaran iterator yaradın.