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