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:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Iteratory alarys:
let iter = func();
Iteratorymyzyň işleýşini barlaýarys:
console.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}
Her çagyrylyşy
10-den nola çenli sanlary gaýtaryjy
iterator dörediň.
Parametr hökmünde san kabul edýän generator dörediň. Iteratorüň her çagyrylyşy sany bir birlik azaltmaly, nola ýetilýänçä.
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.
Her çagyrylyşy indiki ikiň derejesini gaýtaryjy iterator dörediň.
Her çagyrylyşy indiki Fibonacci sanlaryny gaýtaryjy iterator dörediň.