MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Map.prototype.forEach()

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

これは Harmony(ECMAScript 6) 提案の一部であり、実験段階の技術です。
この技術の仕様は安定していません。ブラウザ互換性の一覧表を確認してください。またこれらの構文や動作は、仕様変更などにより、新しいバージョンのブラウザでは変更される可能性があるという点に注意してください。

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 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

関連情報

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

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