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


Назад