JavaScript | 配列の中から条件に合う最初の要素を探す関数

JavaScript JavaScript
スポンサーリンク

では「最初に偶数を見つけて返す関数」を一緒に作ってみましょう。
これは「配列の中から条件に合う最初の要素を探す」練習です。


目標

  • 配列を順番に調べる
  • 最初に偶数を見つけたら返す
  • 見つからなければ null を返す

✅ 模範解答(for文バージョン)

function findFirstEven(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 === 0) {
      return arr[i]; // 偶数を見つけたら返す
    }
  }
  return null; // 見つからなかった場合
}

// 実行例
console.log(findFirstEven([1, 3, 7, 10, 15])); // 10
console.log(findFirstEven([1, 3, 7]));         // null
JavaScript

✅ 模範解答(for…ofバージョン)

function findFirstEven(arr) {
  for (const num of arr) {
    if (num % 2 === 0) {
      return num;
    }
  }
  return null;
}

console.log(findFirstEven([5, 9, 12, 13])); // 12
JavaScript

✅ 模範解答(forEachは不向き)

function findFirstEven(arr) {
  let result = null;
  arr.forEach(num => {
    if (result === null && num % 2 === 0) {
      result = num;
      // forEachは途中で止められないので「最初の1つだけ」にする工夫が必要
    }
  });
  return result;
}

console.log(findFirstEven([7, 11, 14, 20])); // 14
JavaScript

👉 ただし forEach は「途中で止められない」ので、最初の偶数を見つけても最後まで回ってしまいます。
そのため、この用途には for文やfor…of文の方が自然 です。


💡 解説

  • for文 → インデックスを使えるので「何番目に見つかったか」も分かる。
  • for…of文 → 値だけ見たいときにシンプル。
  • forEach → 全部処理するのに便利だが「最初だけ欲しい」には不向き。

ここまでで「条件に合う最初の要素を探す」基本パターンができました。
次のステップとしては、「条件に合うすべての要素を集める」関数を作ると理解がさらに深まります。

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