Итератор (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
, который автоматически использует итератор для перебора элементов.