for文の中でfor文を実行する

for 文の中で別の for 文を入れ子にして実行することで、複数の変数を順に変化させながら繰り返し処理を行うことができます。ここでは JavaScript で for 文の中で for 文を実行する方法と利用方法について解説します。

(Last modified: )

for文の中でfor文を実行する

for 文で繰り返し実行される文には任意の文を記述できますので、別の for 文を記述するといったことも可能です。次のサンプルを見て下さい。

for (let i = 0; i < 3; i++){
  for (let j = 0; j < 3; j++){
    console.log('i = ' + i + ', j = ' + j);
  }
}

このサンプルでは外側の for 文で繰り返し処理が一回行われると、ブロック内に記述された for 文が最初から最後まで実行されます。これを外側の繰り返し処理が終わるまで繰り返します。

実際にこのコードを実行すると、次のようにコンソールに表示されます。

for (let i = 0; i < 3; i++){
  for (let j = 0; j < 3; j++){
    console.log('i = ' + i + ', j = ' + j);
  }
}

>> i = 0, j = 0
>> i = 0, j = 1
>> i = 0, j = 2
>> i = 1, j = 0
>> i = 1, j = 1
>> i = 1, j = 2
>> i = 2, j = 0
>> i = 2, j = 1
>> i = 2, j = 2

内側の for 文のブロックの中でさらに for 文を実行することで、 3 つの繰り返し処理を組み合わせて実行することができます。

for (let i = 0; i < 3; i++){
  for (let j = 0; j < 3; j++){
    for (let k = 0; k < 3; k++){
      console.log('i = ' + i + ', j = ' + j + ', k = ' + k);
    }
  }
}

多重ループの使い方

このように for 文の中に入れ子で for 文を実行すると、それぞれの繰り返し処理で使用している変数のすべての組み合わせが実行されることになります。そのため次のような多次元配列の要素を順に取り出す場合などに利用できます。

const result = [
  [88, 78, 82],
  [92, 64, 76]
];

for (let i = 0; i < 2; i++){
  for (let j = 0; j < 3; j++){
    console.log('成績 = ' + result[i][j]);
  }
}

>> 成績 = 88
>> 成績 = 78
>> 成績 = 82
>> 成績 = 92
>> 成績 = 64
>> 成績 = 76

なお 1 つの for 文で複数の変数を同時に変化させこともできます。「カンマ演算子を使って複数の変数を変化させる」を参照されてください。

-- --

JavaScript で for 文の中で for 文を実行し多重ループを行う方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。