JavaScript 逆引き集 | 配列のループ(for)

JavaScript JavaScript
スポンサーリンク
スポンサーリンク

配列のループ(for)を完全マスターする

for (let i = 0; i < arr.length; i++) {}

あなたが JavaScript を学ぶなら、配列のループ処理は絶対に避けて通れない基礎です。
そしてその中でも for 文によるループは「最も原始的で、最も強力なループ方法」です。

初心者がつまずきやすいポイントを、天才プログラマー兼講師として 徹底的にかみ砕いて説明します。


配列ループの基本構造を理解する

配列を for 文で回すときの基本形はこれです。

for (let i = 0; i < arr.length; i++) {
  // i番目の要素にアクセス
  console.log(arr[i]);
}
JavaScript

これは何をしているのか

  • i = 0
    → 配列の最初の要素(0番目)からスタート
  • i < arr.length
    → 配列の長さより小さい間だけループ
  • i++
    → 1回ループするごとに i を1増やす

つまり、配列の先頭から末尾まで順番にアクセスする仕組みです。


例題:名前リストを順番に表示する

const names = ["Aki", "Mika", "Ken"];

for (let i = 0; i < names.length; i++) {
  console.log(i + "番目:", names[i]);
}
JavaScript

実行結果

0番目: Aki
1番目: Mika
2番目: Ken

深掘り:なぜ 0 番目から始まるのか

JavaScript の配列は 0 から数える(0-index) というルールがあるためです。
これは C 言語など古い言語から受け継がれた文化で、メモリの仕組みと相性が良いため採用されています。


for 文ループの「強み」を理解する

初心者が見落としがちな for 文の強みを解説します。

① インデックス(i)を自由に使える

例えば「偶数番目だけ処理したい」などが簡単。

for (let i = 0; i < arr.length; i += 2) {
  console.log(arr[i]);
}
JavaScript

② 途中でループを止められる(break)

for (let i = 0; i < arr.length; i++) {
  if (arr[i] === "STOP") break;
}
JavaScript

③ スキップできる(continue)

for (let i = 0; i < arr.length; i++) {
  if (arr[i] === null) continue;
  console.log(arr[i]);
}
JavaScript

for 文は「配列を完全にコントロールしたいとき」に最強の選択肢です。


例題:合計値を計算する(初心者が必ず書けるように)

const numbers = [10, 20, 30, 40];
let sum = 0;

for (let i = 0; i < numbers.length; i++) {
  sum += numbers[i];
}

console.log("合計:", sum);
JavaScript

深掘り:なぜ sum を 0 で初期化するのか

  • 数字を足していくので、最初は 0 でないと正しい結果にならない
  • もし undefined のまま足すと NaN(Not a Number)になる

例題:最大値を求める(アルゴリズムの基礎)

const nums = [5, 12, 3, 20, 7];
let max = nums[0]; // 最初の値を基準にする

for (let i = 1; i < nums.length; i++) {
  if (nums[i] > max) {
    max = nums[i];
  }
}

console.log("最大値:", max);
JavaScript

深掘り:なぜ max を nums[0] にするのか

  • 0 を入れると「全部マイナスの配列」で壊れる
  • 配列の最初の値を基準にするのが最も安全

よくある初心者エラーと対策

❌ i <= arr.length と書いてしまう

for (let i = 0; i <= arr.length; i++) {} // NG
JavaScript

理由:
arr[arr.length] は存在しない → undefined → バグの原因

❌ i++ を書き忘れる

無限ループになりブラウザが固まる。

❌ arr.length を毎回計算して重くなる

大きな配列ではパフォーマンスに影響。

for (let i = 0, len = arr.length; i < len; i++) {}
JavaScript

まとめ:for 文は「配列操作の基礎体力」

  • 配列のループは for 文が最も自由度が高い
  • インデックスを使う処理に強い
  • break / continue で柔軟に制御できる
  • アルゴリズムの基礎(合計・最大値・検索)を理解できる

初心者のうちは for 文を完全に理解することが、配列操作の上達への最短ルートです。

タイトルとURLをコピーしました