では「最大値と最小値の差を返す関数」を作ってみましょう。
これは 比較結果をさらに計算に使う 練習です。
目標
- 配列の中から最大値と最小値を探す
- その差(最大値 − 最小値)を計算して返す
✅ 模範解答(for文バージョン)
function getRange(arr) {
if (arr.length === 0) return null; // 空配列ならnull
let max = arr[0];
let min = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
return max - min;
}
// 実行例
console.log(getRange([3, 7, 2, 9, 5])); // 7 (9 - 2)
JavaScript✅ 模範解答(for…ofバージョン)
function getRange(arr) {
if (arr.length === 0) return null;
let max = arr[0];
let min = arr[0];
for (const num of arr) {
if (num > max) max = num;
if (num < min) min = num;
}
return max - min;
}
console.log(getRange([10, 25, 7, 30, 18])); // 23 (30 - 7)
JavaScript✅ 模範解答(forEachバージョン)
function getRange(arr) {
if (arr.length === 0) return null;
let max = arr[0];
let min = arr[0];
arr.forEach(num => {
if (num > max) max = num;
if (num < min) min = num;
});
return max - min;
}
console.log(getRange([4, 12, 8, 6])); // 8 (12 - 4)
JavaScript💡 解説
- 最大値と最小値を同時に追跡しながらループを回す。
- 最後に
max - minを返せば「範囲(range)」が求まる。 - 空配列のときは
nullを返すようにして安全にする。
🔥 発展練習
- 配列の「平均値」を計算する関数を作る
- 配列の「中央値(median)」を計算する関数を作る
