JavaScript'теги Генераторлор
Өз итераторлоруңузду түзүү үчүн колдонулуучу атайын функциялар бар. Мындай функциялар генераторлор деп аталат. Мындай функциялардын аталыштары жылдызча (*) менен башталышы керек:
function *func() {
}
Генераторлордун ичинде yield деген ачкыч сөз колдонулат,
ал итератор кийинки чакырууда эмнени кайтарышы керек экенин
көрсөтөт. Мисалы,
биринчи чакыруу 1, экинчиси - 2,
үчүнчүсү - 3 кайтарсын деп кылалы:
function *func() {
yield 1;
yield 2;
yield 3;
}
Генератор өзүнүн натыйжасында итераторду кайтарат:
let iter = func();
Келгиле, итераторубуздун иштерин текшерип көрөлү:
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}
Ар бир чакыруусу 5 ден
1 ге чейинки сандарды
кайтарган итераторду түзүңүз.