JavaScript'теги итераторду чакыруулар

Итератордун ар бир ырааттуу чакыруусу айрым структурадагы объектти кайтарышы керек. Келгиле, аны карап көрөлү. Бизде массив бар дейли:

javascriptlet arr = [1, 2, 3];

Массивдин итераторун алып, өзгөрмөгө сактайлы:

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

Эми бул өзгөрмөдө next методу бар объект бар. Бул метод value баскычын камтыган, элементтин маанисин камтыган, жана done баскычын, итерөө аяктаганбы же жокпу деген маалыматты камтыган объектти кайтарат:

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

next методун ырааттуу чакыруу ар жолу кийинки элементти чыгарат:

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 коллекциясынын итераторун алыңыз. Аны ырааттуу чакырып, коллекциянын элементтери бүткөнгө чейин улантыңыз.