Сводка
Метод keys() возвращает новый итератор массива Array Iterator, содержащий ключи каждого индекса в массиве.
Синтаксис
arr.keys()
Примеры
Пример: базовое использование
var arr = ['a', 'b', 'c'];
var iterator = arr.keys();
console.log(iterator.next()); // { value: 0, done: false }
console.log(iterator.next()); // { value: 1, done: false }
console.log(iterator.next()); // { value: 2, done: false }
console.log(iterator.next()); // { value: undefined, done: true }
Пример: итератор, возвращаемый методом keys(), не пропускает дырки в массиве
var arr = ['a', , 'c']; var sparseKeys = Object.keys(arr); var denseKeys = [...arr.keys()]; console.log(sparseKeys); // [0, 2] console.log(denseKeys); // [0, 1, 2]
Спецификации
| Спецификация | Статус | Комментарии |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Array.prototype.keys' в этой спецификации. |
Стандарт | Изначальное определение. |
| ECMAScript 2017 Draft (ECMA-262) Определение 'Array.prototype.keys' в этой спецификации. |
Черновик |
Совместимость с браузерами
| Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Базовая поддержка | 38 | 28 (28) | Нет | 25 | 7.1 |
| Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Базовая поддержка | Нет | Нет | 28.0 (28) | Нет | Нет | iOS 8 |