Array.prototype.keys()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015ë 7ì.
Array ì¸ì¤í´ì¤ì keys() ë©ìëë ë°°ì´ì ê° ì¸ë±ì¤ì ëí í¤ë¥¼ í¬í¨íë ìë¡ì´ ë°°ì´ ë°ë³µì ê°ì²´ë¥¼ ë°íí©ëë¤.
ìëí´ ë³´ê¸°
const array1 = ["a", "b", "c"];
const iterator = array1.keys();
for (const key of iterator) {
console.log(key);
}
// Expected output: 0
// Expected output: 1
// Expected output: 2
구문
keys()
매ê°ë³ì
ìì.
ë°í ê°
ìë¡ì´ ìí ê°ë¥ ë°ë³µì ê°ì²´
ì¤ëª
í¬ì ë°°ì´ì ì¬ì©ëë ê²½ì°, keys() ë©ìëë ë¹ ì¬ë¡¯ì ê°ì´ undefinedì¸ ê²ì²ë¼ ë°ë³µí©ëë¤.
key() ë©ìëë ë²ì© ë©ìëì
ëë¤. 본 ë©ìëë this ê°ì length ìì±ê³¼ ì ì í¤ ìì±ë§ì 기ëí©ëë¤.
ìì
>í¬ì ë°°ì´ì keys() ì¬ì©í기
ë°°ì´ì ì¤ì ë¡ ì¡´ì¬íë í¤ë§ í¬í¨íë Object.keys()ì ë¬ë¦¬, keys() ë°ë³µìë ëë½ë ìì±ì ëíë´ë ë¹ ê³µê°ì 무ìíì§ ììµëë¤.
const arr = ["a", , "c"];
const sparseKeys = Object.keys(arr);
const denseKeys = [...arr.keys()];
console.log(sparseKeys); // ['0', '2']
console.log(denseKeys); // [0, 1, 2]
ë°°ì´ì´ ìë ê°ì²´ì keys() í¸ì¶í기
keys() ë©ìëë thisì length ìì±ì ì½ì ë¤ì, 0ê³¼ length - 1 ì¬ì´ì 모ë ì ì ì¸ë±ì¤ë¥¼ ì°ì¶í©ëë¤. ì¤ì ì¸ë±ì¤ ì ê·¼ì ë°ìíì§ ììµëë¤.
const arrayLike = {
length: 3,
};
for (const entry of Array.prototype.keys.call(arrayLike)) {
console.log(entry);
}
// 0
// 1
// 2
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-array.prototype.keys> |