Set.prototype.forEach()
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æ.
forEach() 㯠Set ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ãæå®ããã颿°ããã®éåã®ããããã®å¤ã«å¯¾ãã¦ä¸åãã¤ãæ¿å
¥é ã§å®è¡ãã¾ãã
試ãã¦ã¿ã¾ããã
function logSetElements(value1, value2, set) {
console.log(`s[${value1}] = ${value2}`);
}
new Set(["foo", "bar", undefined]).forEach(logSetElements);
// äºæ³ãããçµæ: "s[foo] = foo"
// äºæ³ãããçµæ: "s[bar] = bar"
// äºæ³ãããçµæ: "s[undefined] = undefined"
æ§æ
forEach(callbackFn)
forEach(callbackFn, thisArg)
弿°
callback-
ãã®éåã®ããããã®é ç®ã«å¯¾ãã¦å®è¡ãã颿°ã§ãããã®é¢æ°ã¯æ¬¡ã®å¼æ°ã§å¼ã³åºããã¾ãã
thisArgçç¥å¯-
callbackFnãå®è¡ããã¨ãï½ãthisã¨ãã¦ä½¿ç¨ããå¤ã§ãã
è¿å¤
undefined ã§ãã
解説
forEach() ã¡ã½ããã¯ããã® Set ãªãã¸ã§ã¯ãã«å®éã«åå¨ããããããã®å¤ã«å¯¾ãã¦ãæå®ããã callback ãä¸åãã¤å®è¡ãã¾ããåé¤ãããå¤ã«å¯¾ãã¦ã¯å¼ã³åºãã¾ããããã ããundefined ã®å¤ããã¤è¦ç´ ã«å¯¾ãã¦ã¯å®è¡ãã¾ãã
callback 㯠3 ã¤ã®å¼æ°ã§å¼ã³åºããã¾ãã
- ãã®è¦ç´ ã®å¤
- ãã®è¦ç´ ã®ãã¼
- èµ°æ»ãè¡ã£ã¦ãã
Setãªãã¸ã§ã¯ã
ãããã Set ãªãã¸ã§ã¯ãã«ãã¼ããªãã®ã§ãæåã® 2 ã¤ã®å¼æ°ã¯ã両æ¹ã¨ã Set ã«å«ã¾ããå¤ã§ããããã«ãããä»ã® Map ã Array ã® forEach() ã¡ã½ããã¨æ´åãåãã¦ãã¾ãã
thisArg 弿°ã forEach() ã«æ¸¡ãããå ´åã callback ãå¼ã³åºãã¨ãã«ãããæ¸¡ããã this å¤ã¨ãã¦ä½¿ç¨ããã¾ããæ¸¡ãããªãã£ãå ´åã¯ããããªããã°ãthis å¤ã¨ãã¦ä½¿ç¨ããããã« undefined å¤ã渡ããã¾ãã this ã®å¤ãæçµçã« callback ããè¦ããå§¿ã¯ã颿°ããè¦ã this ãæ±ºå®ããããã®é常ã®ã«ã¼ã«ã«å¿ãã¦æ±ºã¾ãã¾ãã
ããããã®å¤ã¯ 1 åãã¤å¦çããã¾ããã forEach() ãçµäºããåã«åé¤ã»å追å ãããå ´åã¯ä¾å¤ã§ããå¦çãããåã«åé¤ãããå¤ã«å¯¾ãã¦ã¯ callback ã¯å®è¡ããã¾ããã forEach() ãçµäºããåã«è¿½å ãããæ°ããå¤ã¯å¦çããã¾ãã
forEach() 㯠callback 颿°ã Set ãªãã¸ã§ã¯ãå
ã®ããããã®è¦ç´ ã«å¯¾ãã¦ä¸åãã¤å®è¡ãã¾ããè¿å¤ã¯ããã¾ããã
ä¾
>Set ãªãã¸ã§ã¯ãã®å 容ãåºåãã
次ã®ã³ã¼ãã§ã¯ãSet ãªãã¸ã§ã¯ãå
ã®åè¦ç´ ã«å¯¾ãã¦ãã°ãåºåãã¾ãã
function logSetElements(value1, value2, set) {
console.log(`s[${value1}] = ${value2}`);
}
new Set(["foo", "bar", undefined]).forEach(logSetElements);
// Logs:
// "s[foo] = foo"
// "s[bar] = bar"
// "s[undefined] = undefined"
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-set.prototype.foreach> |