იტერატორის გამოძახებები 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 კოლექციის იტერატორი. თანმიმდევრულად გამოიძახეთ ის, სანამ კოლექციის ელემენტები არ დასრულდება.