JavaScript да итератор чақириқлари

Итераторнинг ҳар бир кетма-кет чақириғи махсус тузилишдаги объектни қайтариши керак. Келиб, уни кўриб чиқайлик. Бизда массив бор деб фараз қилайлик:

javascriptlet arr = [1, 2, 3];

Массив итераторини ўзгарувчига оламиз:

javascriptlet iter = arr[Symbol.iterator]();

Энди бу ўзгарувчида next усули бор объект мавжуд. Бу усул элемент қийматини ўз ичига олган value калити ва айланиш тугаган-тугамагани ҳақида маълумотни ўз ичига олган done калити бор объектни қайтаради:

javascriptconsole.log( iter.next() ); // {value: 1, done: false}

next усулини кетма-кет чақириш ҳар сафар кейинги элементни берadi:

javascriptconsole.log( iter.next() ); // {value: 1, done: false}
console.log( iter.next() ); // {value: 2, done: false}
console.log( iter.next() ); // {value: 3, done: false}

Элементлар тугагани билан, биз кейинги қийматларни кўрамиз:

javascriptconsole.log( iter.next() ); // {value: undefined, done: true}
Задание 1

Map коллекциясининг итераторини олинг. Унга коллекция элементлари тугагунча кетма-кет чақириқ бажаринг.

Задание 2

NodeList коллекциясининг итераторини олинг. Унга коллекция элементлари тугагунча кетма-кет чақириқ бажаринг.

Задание 3

HTMLCollection коллекциясининг итераторини олинг. Унга коллекция элементлари тугагунча кетма-кет чақириқ бажаринг.