JavaScript For Inループ

For Inループ

JavaScriptのfor in文は、オブジェクトのプロパティをループします:


for (key in object) {
  // 実行するコードブロック
}


const person = {fname:"John", lname:"Doe", age:25};

let text = "";
for (let x in person) {
  text += person[x];
}

例の説明

  • for inループはpersonオブジェクトを反復処理します
  • 各反復ではキー(x)が返されます
  • キーを使用してそのキーの値にアクセスします
  • キーの値はperson[x]で取得します

配列でのFor In

JavaScriptのfor in文は、配列のプロパティをループすることもできます:


for (variable in array) {
  code
}


const numbers = [45, 4, 9, 16, 25];

let txt = "";
for (let x in numbers) {
  txt += numbers[x];
}

重要: インデックスの順序が重要な場合、配列でfor inを使用しないでください。

インデックスの順序は実装に依存し、配列の値が期待通りの順序でアクセスされない可能性があります。

インデックスの順序が重要な場合は、forループ、for ofループ、またはArray.forEach()を使用することが良いです。

Array.forEach()

forEach()メソッドは、各配列要素に対して1度だけ関数(コールバック関数)を呼び出します。


const numbers = [45, 4, 9, 16, 25];

let txt = "";
numbers.forEach(myFunction);

function myFunction(value, index, array) {
  txt += value;
}

関数は3つの引数を取ります:

  • アイテムの値
  • アイテムのインデックス
  • 配列自体

上記の例では、値パラメータのみを使用しています。以下のように書き直すこともできます:


const numbers = [45, 4, 9, 16, 25];

let txt = "";
numbers.forEach(myFunction);

function myFunction(value) {
  txt += value;
}