JavaScript метод entries()
Определение и применение
JavaScript метод entries() возвращает объект итератор, который содержит пары ключ/значение по каждому
индексу в массиве. Работу метода показывает пример
«Как перебрать пары индекса и значения».
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
entries | 38 | 12 | 28 | 25 | 8 | 38 | 28 | 25 | 8 | 3.0 | 38 | 8 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
array.entries();Спецификация
ECMAScript: Array.prototype.entries.
Значения параметров
Параметров нет.
Возвращаемое значение
Новый итератор пар [индекс, значение]. Исходный массив не изменяется.
Особенности
Итератор выдаёт пары по возрастанию индекса. Пустая позиция даёт undefined;
next() возвращает объект с value (очередной результат) и done (признак
завершения).
Примеры, попробуйте сами
Как перебрать пары индекса и значения
Измените элементы массива или удалите элемент, оставив пустую позицию. Сравните пары [индекс, значение] и результат деструктуризации в цикле.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
let array = ['one', 'two', 'three'] // инициализируем переменную, содержащую массив
let iterator = array.entries() // инициализируем переменную, содержащую объект итератор
for (let item of iterator) {
// проходим циклом по объекту
console.log(item) // выводим пары ключ/значение
}
// [0, "one"]
// [1, "two"]
// [2, "three"]
// Деструктуризация сразу получает индекс и значение; пустая позиция даёт undefined.
const sparse = ['a', , 'c']
for (const [index, value] of sparse.entries()) {
console.log(index, value) // 0 "a", 1 undefined, 2 "c"
}