JavaScript-daki generator funksiýalaryndaky aýlawlar

Generatorlaryň içinde aýlawlary ulanyp bolýar. Şol bir wagtyň özünde biz aýlawlary yield arkaly duruzup goýup bileris. Geliň mysal görkezeliň. Her iterasiýada aýlawy duruzup goýarys:

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

Iteratory alarys:

javascriptlet iter = func();

Iteratorymyzyň işleýşini barlaýarys:

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

Her çagyrylyşy 10-den nola çenli sanlary gaýtaryjy iterator dörediň.

Задание 2

Parametr hökmünde san kabul edýän generator dörediň. Iteratorüň her çagyrylyşy sany bir birlik azaltmaly, nola ýetilýänçä.

Задание 3

Parametr hökmünde san kabul edýän generator dörediň. Iteratorüň her çagyrylyşy sany iki esse azaltmaly we netijäni gaýtarmaly. San birden kiçi bolýança şeýle dowam etmeli.

Задание 4

Her çagyrylyşy indiki ikiň derejesini gaýtaryjy iterator dörediň.

Задание 5

Her çagyrylyşy indiki Fibonacci sanlaryny gaýtaryjy iterator dörediň.