この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
これは Harmony(ECMAScript 6) 提案の一部であり、実験段階の技術です。
この技術の仕様は安定していません。ブラウザ互換性の一覧表を確認してください。またこれらの構文や動作は、仕様変更などにより、新しいバージョンのブラウザでは変更される可能性があるという点に注意してください。
Summary
挿入順にMap
のキー/バリューペアあたり一回、提供された関数を実行します。
構文
myMap.forEach(callback[, thisArg])
引数
callback
- それぞれの要素に対して実行する関数
thisArg
callback
を実行するときに、this
として使う値
説明
forEach
メソッドは実際に存在するマップのキーに対して一回提供されたcallback
を実行します。削除されたキーに対しては呼び出されません。しかしながら、存在するがundefined
を持つ値に対しては実行されます。
callback
は3つの引数で呼び出されます。:
- 要素の値
- 要素のキー
- 実行される
Map
オブジェクト
thisArg
引数がforEach
に指定されたら、this
値として使用するために呼び出されたときにcallback
に渡されます。さもなければ、undefined
値がthis
値として使用するために渡されます。callback
によって最終的に観察可能なthis
値は関数によって確かめられるthis
を決定する通常のルールに応じて決定されます。
forEach
によって処理される要素の範囲はcallback
の最初の呼び出し前に設定されます。forEach
の呼び出しが始まったあとでMap
オブジェクトに加えられる要素はcallback
によって処理されません。Map
オブジェクトに存在している要素が変更されたり、削除されたら、callback
に渡される値はforEach
が処理する直前の値です。削除された要素は処理されません。
forEach
はMap
オブジェクトの要素に対して一回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 6 (ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
勧告候補 | Initial definition. |
ブラウザ実装状況
機能 | 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 |