From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../global_objects/set/foreach/index.html | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/set/foreach/index.html (limited to 'files/ja/web/javascript/reference/global_objects/set/foreach') diff --git a/files/ja/web/javascript/reference/global_objects/set/foreach/index.html b/files/ja/web/javascript/reference/global_objects/set/foreach/index.html new file mode 100644 index 0000000000..440ace97e7 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/set/foreach/index.html @@ -0,0 +1,110 @@ +--- +title: Set.prototype.forEach() +slug: Web/JavaScript/Reference/Global_Objects/Set/forEach +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Prototype + - Reference + - set +translation_of: Web/JavaScript/Reference/Global_Objects/Set/forEach +--- +
{{JSRef}}
+ +

forEach() メソッドは、与えられた関数を Set オブジェクトの各値に対して一回ずつ、挿入順で実行します。

+ +
{{EmbedInteractiveExample("pages/js/set-prototype-foreach.html")}}
+ + + +

構文

+ +
mySet.forEach(callback[, thisArg])
+ +

引数

+ +
+
callback
+
各要素に対して実行する関数で、 3つの引数を受け付けます。
+
+
+
currentValue, currentKey
+
Setで現在 処理されている要素。 Set にはキー(key)がないため値(value)が両方に渡されます。
+
set
+
forEach() が呼ばれている Set オブジェクト
+
+
+
thisArg
+
callback を実行するとき、this として使用する値です。
+
+ +

返値

+ +

{{jsxref("undefined")}} です。

+ +

解説

+ +

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

+ +

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

+ + + +

Set オブジェクトにキーはありません。しかし、最初の 2 つの引数は、両方とも {{jsxref("Set")}} に含まれるです。そのため callback 関数は {{jsxref("Map.foreach", "Map")}} や {{jsxref("Array.forEach","Array")}} の forEach() メソッドと矛盾がありません。

+ +

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

+ +

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

+ +

forEach()Set オブジェクト内の各要素に対して一回 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"
+
+ +

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-set.prototype.foreach', 'Set.prototype.forEach')}}
+ +

ブラウザーの互換性

+ + + +

{{Compat("javascript.builtins.Set.forEach")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf