では「配列の中で一番大きい数を探す関数」を作ってみましょう。
これは 比較と更新 の練習になります。
目標
- 配列を順番に調べる
- 「今までで一番大きい数」を覚えておく
- 最後にその最大値を返す
✅ 模範解答(for文バージョン)
function findMax(arr) {
if (arr.length === 0) return null; // 空配列ならnullを返す
let max = arr[0]; // 最初の要素を「仮の最大値」とする
for (let i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i]; // より大きい数が見つかったら更新
}
}
return max;
}
// 実行例
console.log(findMax([3, 7, 2, 9, 5])); // 9
console.log(findMax([])); // null
JavaScript✅ 模範解答(for…ofバージョン)
function findMax(arr) {
if (arr.length === 0) return null;
let max = arr[0];
for (const num of arr) {
if (num > max) {
max = num;
}
}
return max;
}
console.log(findMax([10, 25, 7, 30, 18])); // 30
JavaScript✅ 模範解答(forEachバージョン)
function findMax(arr) {
if (arr.length === 0) return null;
let max = arr[0];
arr.forEach(num => {
if (num > max) {
max = num;
}
});
return max;
}
console.log(findMax([4, 12, 8, 6])); // 12
JavaScript💡 解説
- 初期値をどうするか → 配列が空でないなら「最初の要素」を仮の最大値にするのが安全。
- 比較と更新 →
if (num > max)のように「より大きければ更新する」流れが基本。 - 空配列の扱い → 何もないときは
nullを返すようにしておくと安心。
🔥 発展練習
- 「一番小さい数」を探す関数に書き換えてみる
- 「最大値とそのインデックス(位置)」を一緒に返す関数を作ってみる
