JavaScriptтеги генераторлорундо циклдер

Генераторлордун ичинде циклдерди колдонсо болот. Бул учурда биз циклдерди yield жардамы менен токтото алабыз. Келгиле, мисал менен карап көрөлү. Ар бир итерацияда циклди токтотойлу:

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

Итераторду алалы:

javascriptlet iter = func();

Итераторубуздун иш аракетин текшеребиз:

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

Ар бир чакыруу 10 дан нөлгө чейинки сандарды кайтарып берүүчү итераторду түзүңүз.

Задание 2

Параметри катары сан кабыл алган генераторду жасаңыз. Итератордун ар бир чакыруусу санды бирге азайтсын, нөлгө жеткенге чейин.

Задание 3

Параметри катары сан кабыл алган генераторду жасаңыз. Итератордун ар бир чакыруусу санды экиге бөлүп, натыйжаны кайтарсын. Сан бирден кичине болгонго чейин ушул иштелсин.

Задание 4

Ар бир чакыруу кийинки экинин даражасын кайтарып берүүчү итераторду жасаңыз.

Задание 5

Ар бир чакыруу кийинки Фибоначчи санын кайтарып берүүчү итераторду жасаңыз.