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

Set.prototype.forEach()

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

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

概要

Setオブジェクトの各値に対して一度挿入順で与えられた関数を実行します。

構文

mySet.forEach(callback[, thisArg])

引数

callback
各要素に対して実行する関数。
thisArg
callbackを実行するとき、thisとして使用する値。

説明

forEach メソッドはSetオブジェクトに実際に存在する各値に対して一度与えられたcallbackを実行します。削除された値に対しては呼び出されません。しかしながら、存在するがundefined値をもつ要素に対しては実行されます。

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

  • 要素値
  • 要素値
  • 対象となるSetオブジェクト

Setオブジェクトにキーはありません。しかしながら、最初の2つの引数は、両方ともSetに含まれるです。そのため、 callback関数はMapArrayのforEachメソッドと矛盾がありません。

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

forEachによって処理される要素の範囲は最初のcallbackの呼び出しより前に決定されます。forEachの呼び出しが始まったあとでSetオブジェクトに追加された要素は、callbackによって処理されません。Setのオブジェクト内の存在している要素が変更されたり削除されたら、callbackに渡される値は、forEachが処理するときの値になります。削除された要素は処理されません。

forEachSetオブジェクト内の各要素に対して一度callback関数を実行します。forEachは値を返しません。

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

次のコードでは、Setオブジェクト内の各要素に対して一行ログを出力します。:

function logSetElements(value1, value2, set) {
    console.log("s[" + value1 + "] = " + value2);
}

new Set(["foo", "bar", undefined]).forEach(logSetElements);

// logs:
// "s[foo] = foo"
// "s[bar] = bar"
// "s[undefined] = undefined"

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Set.prototype.forEach' in that specification.
Standard 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,