Array.prototype.keys()
keys() 메서드는 배열의 각 인덱스를 키 값으로 가지는 새로운 Array Iterator 객체를 반환합니다.
시도해보기
구문
js
arr.keys()
반환 값
새로운 Array 반복기 객체.
설명
Sparse arrays 에 사용하면, keys() 메서드는 undefined 값이 있는 것처럼 빈 슬롯을 순회합니다.
keys() 메서드는 generic합니다. this 값에 정수를 가지는 length 속성만 있어야 합니다.
예제
Sparse Arrays에 keys() 사용하기
배열에 실제로 존재하는 키 값만을 포함하는 Object.keys() 와 달리, keys() 반복기는 누락된 속성이 나타나는 빈 공간을 무시하지 않습니다.
js
var arr = ['a', , 'c'];
var sparseKeys = Object.keys(arr);
var denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]
Calling keys() on non-array objects
keys() 메서드는 this 값에서 length 속성을 읽고 0과 length - 1 사이에 있는 모든 정수 인덱스를 생성합니다. 이 인덱스는 실제로 생기지 않습니다.
js
const arrayLike = {
length: 3,
};
for (const entry of Array.prototype.keys.call(arrayLike)) {
console.log(entry);
}
// 0
// 1
// 2
명세
| Specification |
|---|
| ECMAScript Language Specification # sec-array.prototype.keys |
브라우저 호환성
BCD tables only load in the browser