JavaScriptで最大値と最小値を計算する方法について

JavaScriptで最大値と最小値を計算する方法について

Math.maxの基本

Math.max()は、引数として渡された数値の中から最大値を返す関数です。使用方法は次の通りです:

Math.max(value1, value2, ...)

数学的に表現すると、次のように書けます: $$ \text{Math.max}(x_1, x_2, \ldots, x_n) = \max \{ x_1, x_2, \ldots, x_n \} $$

例:


const max = Math.max(3, 7, 2, 9, 4);
console.log(max); // 結果: 9
    

上記の例では、3、7、2、9、4の中で最大値である9が返されます。

Math.minの基本

Math.min()は、引数として渡された数値の中から最小値を返す関数です。使用方法は次の通りです:

Math.min(value1, value2, ...)

数学的に表現すると、次のように書けます: $$ \text{Math.min}(x_1, x_2, \ldots, x_n) = \min \{ x_1, x_2, \ldots, x_n \} $$

例:


const min = Math.min(3, 7, 2, 9, 4);
console.log(min); // 結果: 2
    

上記の例では、3、7、2、9、4の中で最小値である2が返されます。

応用例

配列の最大値と最小値を計算する

配列の場合、Math.maxMath.minを直接使用することはできません。しかし、スプレッド構文(...)を用いることで簡単に計算できます。


const numbers = [3, 7, 2, 9, 4];
const max = Math.max(...numbers);
const min = Math.min(...numbers);
console.log(max); // 結果: 9
console.log(min); // 結果: 2
    

動的なデータの最大値と最小値

例えば、ユーザーが入力した数値データの中から最大値や最小値を計算したい場合は、次のように記述できます。


const userInput = prompt("カンマ区切りで数値を入力してください:");
const numbers = userInput.split(",").map(Number);
const max = Math.max(...numbers);
const min = Math.min(...numbers);
console.log(`最大値: ${max}, 最小値: ${min}`);
    

特殊なケース

引数が空の場合

Math.max()またはMath.min()に引数を渡さなかった場合、それぞれの戻り値は次のようになります:

  • Math.max(): -Infinity
  • Math.min(): Infinity

これは、数値の最大値・最小値を計算する際に、どの値よりも小さいまたは大きい値として扱われるためです。


console.log(Math.max()); // 結果: -Infinity
console.log(Math.min()); // 結果: Infinity
    

非数値が含まれる場合

Math.max()Math.min()の引数に非数値が含まれると、結果はNaNになります。


console.log(Math.max(3, "a", 5)); // 結果: NaN
console.log(Math.min(3, "a", 5)); // 結果: NaN
    

まとめ

Math.max()Math.min()は、JavaScriptで最大値と最小値を計算するための便利な関数です。特に、スプレッド構文を活用することで配列の操作が簡単になります。また、特殊なケース(空の引数や非数値の引数)についても注意が必要です。

これらの関数を活用することで、さまざまな場面で効率的なコードを記述することができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です