
Итератор (Iterator) - это объект, который предоставляет последовательный доступ к элементам коллекции (например, массиву или объекту) и определяет метод next(), который возвращает текущий элемент и перемещает указатель на следующий элемент.
Итераторы используются в JavaScript для перебора элементов коллекций, таких как массивы или строки, и могут быть созданы для любого объекта, реализующего интерфейс итератора.
Интерфейс итератора в JavaScript определяет метод next(), который возвращает объект со свойствами value и done. Свойство value содержит текущий элемент, в то время как свойство done указывает, был ли достигнут конец коллекции.
Пример использования итератора для перебора элементов массива:
const arr = [1, 2, 3]
const iterator = arr[Symbol.iterator]()
console.log(iterator.next()) // { value: 1, done: false }
console.log(iterator.next()) // { value: 2, done: false }
console.log(iterator.next()) // { value: 3, done: false }
console.log(iterator.next()) // { value: undefined, done: true }В этом примере, мы объявляем массив arr и получаем его итератор с помощью метода Symbol.iterator(). Затем мы используем метод next() для перебора элементов массива, пока не достигнем конца.
Итераторы могут быть использованы вместе с циклом for...of для более удобного перебора элементов коллекций:
const arr = [1, 2, 3]
for (let value of arr) {
console.log(value)
}
// Вывод: 1 2 3В этом примере, мы используем цикл for...of для перебора элементов массива arr, который автоматически использует итератор для перебора элементов.