では「最初に偶数を見つけて返す関数」を一緒に作ってみましょう。
これは「配列の中から条件に合う最初の要素を探す」練習です。
目標
- 配列を順番に調べる
- 最初に偶数を見つけたら返す
- 見つからなければ
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 → 全部処理するのに便利だが「最初だけ欲しい」には不向き。
ここまでで「条件に合う最初の要素を探す」基本パターンができました。
次のステップとしては、「条件に合うすべての要素を集める」関数を作ると理解がさらに深まります。
