Map.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() ã¡ã½ããã¯ãæå®ããã颿°ã Map ãªãã¸ã§ã¯ãå
ã«ãããã¼ã¨å¤ã®ãã¢ããããã«å¯¾ã㦠1 åãã¤ãæ¿å
¥é ã«å®è¡ãã¾ãã
試ãã¦ã¿ã¾ããã
function logMapElements(value, key, map) {
console.log(`m[${key}] = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// Expected output: "m[foo] = 3"
// Expected output: "m[bar] = [object Object]"
// Expected output: "m[baz] = undefined"
æ§æ
// ã¢ãã¼é¢æ°
forEach(() => { /* ⦠*/ } )
forEach((value) => { /* ⦠*/ } )
forEach((value, key) => { /* ⦠*/ } )
forEach((value, key, map) => { /* ⦠*/ } )
// ã³ã¼ã«ããã¯é¢æ°
forEach(callbackFn)
forEach(callbackFn, thisArg)
// ã¤ã³ã©ã¤ã³ã³ã¼ã«ããã¯é¢æ°
forEach(function() { /* ⦠*/ })
forEach(function(value) { /* ⦠*/ })
forEach(function(value, key) { /* ⦠*/ })
forEach(function(value, key, map) { /* ⦠*/ })
forEach(function(value, key, map) { /* ⦠*/ }, thisArg)
弿°
callbackFn-
ãããã®ããããã®é ç®ã«å¯¾ãã¦å®è¡ããã颿°ã以ä¸ã®å¼æ°ãåãã¾ãã
valueçç¥å¯-
ããããã®å復å¦çã«ãããå¤ã§ãã
keyçç¥å¯-
ããããã®å復å¦çã«ããããã¼ã§ãã
mapçç¥å¯-
å復å¦çããããããã§ãã
thisArgçç¥å¯-
callbackFnã®å®è¡æã«thisã¨ãã¦ä½¿ç¨ãããå¤ã§ãã
è¿å¤
undefined ã§ãã
解説
forEach ã¡ã½ããã¯ãæå®ããã颿° callbackFn ãããããã®å®å¨ããããããã®ãã¼ã«å¯¾ãã¦ä¸åº¦ãã¤å¼ã³åºãã¾ããããã¯åé¤ããããã¼ã«å¯¾ãã¦ã¯å¼ã³åºãã¾ããããã ããåå¨ãã¦ã㦠undefined ã§ããå¤ã«å¯¾ãã¦ã¯å¼ã³åºãã¾ãã
callbackFn ã¯æ¬¡ã® 3 ã¤ã®å¼æ°ã§å¼ã³åºããã¾ãã
- é
ç®ã®å¤ (
value) - é
ç®ã®ãã¼ (
key) - èµ°æ»ä¸ã®
Mapãªãã¸ã§ã¯ã
thisArg 弿°ã forEach ã«æå®ãããã¨ã callbackFn ã®å¼ã³åºãæã«ãã®ãªãã¸ã§ã¯ãã this ã®å¤ã¨ãã¦ä½¿ç¨ããã¾ããä¸ããããªãã£ãå ´åã¯ã undefined ã this ã®å¤ã¨ãã¦æ¸¡ããã¾ãã callback ã«ãã£ã¦ç©¶æ¥µã«ç®¡çããã this ã®å¤ã¯ã颿°ããè¦ãã this ãç¹å®ããä¸è¬è¦åã«å¾ãã¾ãã
ããããã®å¤ã«å¯¾ãã¦ä¸åº¦ãã¤å®è¡ããã¾ããã forEach ãçµäºããã¾ã§ã«åé¤ããå追å ãããå ´åã¯é¤ãã¾ãã callback ã¯ãã®åã«åé¤ãããå¤ã«å¯¾ãã¦ã¯å®è¡ããã¾ããã forEach ãçµäºããåã«è¿½å ãããæ°ããå¤ã«å¯¾ãã¦ã¯å®è¡ããã¾ãã
ä¾
>Map ãªãã¸ã§ã¯ãã®å 容ã表示
以ä¸ã®ã³ã¼ã㯠Map ãªãã¸ã§ã¯ãå
ã®åè¦ç´ ã 1 è¡ãã¤åºåãã¾ãã
function logMapElements(value, key, map) {
console.log(`map.get('${key}') = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// ãã°åºå:
// "map.get('foo') = 3"
// "map.get('bar') = [object Object]"
// "map.get('baz') = undefined"
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-map.prototype.foreach> |