mozilla

for each...in

for each...in文はECMA-357(E4X)から廃止されました。E4Xへのサポートは除かれましたが、後方互換性のため for each...in 文が無くなる事はありません。代替として、for...of文が推奨されます。

指定された変数を、オブジェクトの全プロパティの値に対して反復します。異なるそれぞれのプロパティに対し、指定された文が実行されます。

構文

for each (variable in object) {
  statement
}
variable
任意で var キーワードを用いて宣言された、プロパティの値に対して反復する変数。この変数はループにではなく、関数にローカルです。
object
プロパティが反復されるオブジェクト。
statement
各プロパティに対して実行する文。ループ内で複数の文を実行するには、それらの文をグループ化するためにブロック文 ({ ... }) を使ってください。

説明

ある組み込みプロパティに対しては反復されません。これらには、たとえば StringindexOf メソッドといった、オブジェクトのすべての組み込みメソッドが含まれます。しかしながら、すべてのユーザー定義プロパパティに対しては反復されます。

例: for each...in を使う

警告: このようなループを決して配列に使わないでください。オブジェクトにだけ使ってください。詳細

次のスニペットはオブジェクトのプロパティに対して反復し、それらの合計を計算します:

var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};

for each (var item in obj) {
  sum += item;
}
console.log(sum); // logs "26", which is 5+13+8

参照

  • for...in - プロパティ に対して反復する似たような文。
  • for

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

Contributors to this page: teoli, saneyuki_s, ethertank, Mgjbot, Nanto vi, manzyun, MasakazuEndo
最終更新者: teoli,
サイドバーを隠す