იტერატორის გამოძახებები JavaScript-ში
იტერატორის ყოველი თანმიმდევრული გამოძახება უნდა დააბრუნოს ობიექტი სპეციალური სტრუქტურით. მოდით მას განვიხილოთ. დავუშვათ, გვაქვს მასივი:
let arr = [1, 2, 3];
მოვიღოთ მასივის იტერატორი ცვლადში:
let iter = arr[Symbol.iterator]();
ახლა ამ ცვლადში ჩაწერილია ობიექტი
მეთოდით next. ეს მეთოდი აბრუნებს
ობიექტს გასაღებით value, რომელიც შეიცავს
ელემენტის მნიშვნელობას, და გასაღებით done,
რომელიც შეიცავს ინფორმაციას იმის შესახებ, დასრულდა თუ არა
გადამოწმება:
console.log( iter.next() ); // {value: 1, done: false}
მეთოდის next თანმიმდევრული გამოძახება
ყოველ ჯერზე მოგვცემს შემდეგ
ელემენტს:
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}
მიიღეთ Map კოლექციის იტერატორი.
თანმიმდევრულად გამოიძახეთ ის,
სანამ კოლექციის ელემენტები არ დასრულდება.
მიიღეთ NodeList კოლექციის იტერატორი.
თანმიმდევრულად გამოიძახეთ ის,
სანამ კოლექციის ელემენტები არ დასრულდება.
მიიღეთ HTMLCollection კოლექციის იტერატორი.
თანმიმდევრულად გამოიძახეთ ის,
სანამ კოლექციის ელემენტები არ დასრულდება.