MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-survey

この翻訳は不完全です。英語から この記事を翻訳 してください。

これは Harmony(ECMAScript 2015 (ES6)) の一部です。
この技術の仕様は最終化されていますが、使用にあたってはブラウザーごとの実装状況の一覧表を確認してください。

Summary

挿入順にMapのキー/バリューペアあたり一回、提供された関数を実行します。

構文

myMap.forEach(callback[, thisArg])

引数

callback
それぞれの要素に対して実行する関数
thisArg
callbackを実行するときに、thisとして使う値

説明

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

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

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

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

forEachによって処理される要素の範囲はcallbackの最初の呼び出し前に設定されます。forEachの呼び出しが始まったあとでMapオブジェクトに加えられる要素はcallbackによって処理されません。Mapオブジェクトに存在している要素が変更されたり、削除されたら、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);
}
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.

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 38 25.0 (25.0) 11 25 7.1
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 未サポート 38 25.0 (25.0) 未サポート 未サポート iOS 8

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: shide55
 最終更新者: shide55,