We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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

概要

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)
Set.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

関連情報

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

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