Map.prototype.forEach()

Mapのキー/バリューペアに対して一回ずつ、挿入順に指定された関数を実行します。

構文

myMap.forEach(callback[, thisArg])

引数

callback
それぞれの要素に対して実行する関数
value     | Optional
各反復処理での値
key          | Optional
各反復処理でのキー
thisArg  | Optional
callback を実行するときに、 this として使う値

戻り値

undefined.

説明

forEach メソッドはマップに存在するキーに対して一回ずつ提供されたcallbackを実行します。削除されたキーに対しては呼び出されません。ただ、undefinedを値として持つキーに対しては実行されます。

callback3つの引数で呼び出されます。:

  • 要素の値
  • 要素のキー
  • 実行されるMap オブジェクト

thisArg 引数がforEachに指定されたら、this値として使用するために呼び出されたときにcallbackに渡されます。さもなければ、undefined値がthis値として使用するために渡されます。callbackによって最終的に観察可能なthis 値は関数によって確かめられるthisを決定する通常のルールに応じて決定されます。

各値は一度だけ訪問されますが、 forEach() が終了する前に削除・再追加された場合は例外です。 到達する前に削除された値に対しては callback は実行されません。 forEach() が終了する前に追加された新規の値は訪問されます。

forEachMapオブジェクトの要素に対して一回callback関数を実行します。値を返しません。

Mapオブジェクトの内容を出力する。

The following code logs a line for each element in an Map object:

function logMapElements(value, key, map) {
    console.log(`m[${key}] = ${value}`);
}
new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(logMapElements);
// logs:
// "m[foo] = 3"
// "m[bar] = [object Object]"
// "m[baz] = undefined"

仕様

仕様 ステータス コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Map.prototype.forEach の定義
標準 Initial definition.
ECMAScript (ECMA-262)
Map.prototype.forEach の定義
現行の標準

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
forEachChrome 完全対応 38Edge 完全対応 12Firefox 完全対応 25IE 完全対応 11Opera 完全対応 25Safari 完全対応 8WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 25Opera Android 完全対応 25Safari iOS 完全対応 8Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12

凡例

完全対応  
完全対応

関連情報