Клавиша / esc

.keys()

Возвращает объект-итератор индексов элементов массива.

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод keys() возвращает новый объект-итератор, созданный из индексов всех элементов массива. Подробнее о том, что такое итератор, можно прочитать в статье «Итератор».

Пример

Скопировано

Создадим объект-итератор и получим его значения с помощью for...of:

        
          
          const chords = ['Am', 'G', 'C', 'Em7']const iterator = chords.keys()for (const item of iterator) {  console.log(item)}// 0// 1// 2// 3
          const chords = ['Am', 'G', 'C', 'Em7']
const iterator = chords.keys()

for (const item of iterator) {
  console.log(item)
}
// 0
// 1
// 2
// 3

        
        
          
        
      

Как пишется

Скопировано

Array.keys() не имеет аргументов.

Array.keys() возвращает новый объект-итератор, реализующий протокол перебора массива. При переборе для каждого элемента коллекции возвращается индекс элемента в исходном массиве.

Как понять

Скопировано

Метод keys() работает схожим образом с методом values(), но позволяет получить для каждого элемента его индекс.

Array.keys() не нужно путать со статическим методом Object.keys(), который возвращает массив индексов перечисляемых свойств объекта.

Подсказки

Скопировано

💡 Oбъект-итератор, созданный при вызове keys(), вернёт при обходе индекс для всех элементов массива, включая незаполненные элементы:

        
          
          const cities = []cities[2] = 'Лондон'console.log(cities)// [ <2 empty items>, 'Лондон' ]const iterator = cities.keys()for (const item of iterator) {  console.log(item)}// 0// 1// 2
          const cities = []
cities[2] = 'Лондон'

console.log(cities)
// [ <2 empty items>, 'Лондон' ]

const iterator = cities.keys()

for (const item of iterator) {
  console.log(item)
}
// 0
// 1
// 2