Array.prototype.entries()
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
entries() 㯠Array ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ãé
åå
ã®åè¦ç´ ã«å¯¾ãããã¼/å¤ã®ãã¢ãå«ãæ°ããé
åã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
const array = ["a", "b", "c"];
const iterator = array.entries();
console.log(iterator.next().value);
// äºæ³ãããçµæ: Array [0, "a"]
console.log(iterator.next().value);
// äºæ³ãããçµæ: Array [1, "b"]
æ§æ
entries()
弿°
ãªãã
è¿å¤
æ°ããå復å¯è½ã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãã§ãã
解説
çé
åã§ä½¿ç¨ãããå ´åã entries() ã¡ã½ããã¯ç©ºã®ã¹ãããã undefined ã®å¤ãè¨å®ããã¦ãããã®ããã«å復å¦çãã¾ãã
entries() ã¡ã½ããã¯æ±ç¨çã§ãããã®ã¡ã½ãã㯠this ã®å¤ã« length ããããã£ã¨æ´æ°ã®ãã¼ãæã£ãããããã£ããããã¨ã ããæ±ãã¾ãã
ä¾
>ã¤ã³ããã¯ã¹ã¨è¦ç´ ã®å復å¦ç
const a = ["a", "b", "c"];
for (const [index, element] of a.entries()) {
console.log(index, element);
}
// 0 'a'
// 1 'b'
// 2 'c'
for...of ã«ã¼ãã®ä½¿ç¨
const array = ["a", "b", "c"];
const arrayEntries = array.entries();
for (const element of arrayEntries) {
console.log(element);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']
çé åãå復å¦ç
entries() ã¯ç©ºã®ã¹ãããã undefined ã§ãããã®ããã«å¦çãã¾ãã
for (const element of [, "a"].entries()) {
console.log(element);
}
// [0, undefined]
// [1, 'a']
é åã§ãªããªãã¸ã§ã¯ãã«å¯¾ãã entries() ã®å¼ã³åºã
entries() ã¡ã½ãã㯠this ã® length ããããã£ãèªã¿è¾¼ã¿ããã®ãã¼ã length ãããå°ããéè² ã®æ´æ°ã§ããåããããã£ã«ã¢ã¯ã»ã¹ãã¾ãã
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
3: "d", // length ã 3 ãªã®ã§ entries() ããã¯ç¡è¦ããã
};
for (const entry of Array.prototype.entries.call(arrayLike)) {
console.log(entry);
}
// [ 0, 'a' ]
// [ 1, 'b' ]
// [ 2, 'c' ]
仿§æ¸
| 仿§æ¸ |
|---|
| ECMAScript® 2027 Language Specification > # sec-array.prototype.entries > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
Array.prototype.entriesã®ããªãã£ã« (core-js)- es-shims ã«ãã
Array.prototype.entriesã®ããªãã£ã« - ã¤ã³ããã¯ã¹ä»ãã³ã¬ã¯ã·ã§ã³ã¬ã¤ã
ArrayArray.prototype.keys()Array.prototype.values()Array.prototype[Symbol.iterator]()TypedArray.prototype.entries()- å復å¦çãããã³ã«