複数の値の中から最大および最小の値を取得する(Math.max, Math.min)

Math オブジェクトの静的メソッドである Math.max は引数に指定した複数の値の中で最大の値を返します。また Math.min は引数に指定した複数の値の中で最小の値を返します、ここでは Math オブジェクトの Math.max メソッドおよび Math.min メソッドの使い方について解説します。

(Last modified: )

最大の値を取得する(max)

Math オブジェクトの Math.max メソッドは引数に指定した複数の値の中から最大の値を返します。書式は次の通りです。

Math.max([数値1[, 数値2[, ...]]])

引数に指定した複数の値の中から最大の値を 1 つ戻り値として返します。引数が数値ではなかった場合は数値に変換してから比較を行います。引数が一つも指定されなかった場合は -Infinity 、引数の中で NaN となる値が一つでもあった場合は NaN が返されます。

次のサンプルをみてください。

Math.max(4, 10.2, 16, -2);
>> 16

Math.max(7);
>> 7

Math.max();
>> -Infinity

最初の例では 4 つの引数を指定しています。引数の中で最大の値である 16 が返されています。二番目の例では引数を 1 つだけ指定しています。この場合は引数の値がそのまま返ります。再度の例では引数が一つも指定されていません。この場合は -Infinity が返されます。

今度は引数の中に数値ではない値が存在する場合です。

Math.max(7, '8.4', [3]);
>> 8.4

Math.max(4, NaN);
>> NaN

Math.max(8, 2, undefined);
>> NaN

数値以外の値が引数に指定された場合は数値に変換されてから比較が行われます。最初の例では文字列や配列の値が含まれていますが、数値に変換した場合に数値となるため数値に変換された中で最大の値が返されています。二番目と三番目の例では引数の中に NaN または数値に変換すると NaN になる値が含まれているため NaN が返されています。

最小の値を取得する(min)

Math オブジェクトの Math.min メソッドは引数に指定した複数の値の中から最小の値を返します。書式は次の通りです。

Math.min([数値1[, 数値2[, ...]]])

引数に指定した複数の値の中から最小の値を 1 つ戻り値として返します。引数が数値ではなかった場合は数値に変換してから比較を行います。引数が一つも指定されなかった場合は Infinity 、引数の中で NaN となる値が一つでもあった場合は NaN が返されます。

次のサンプルをみてください。

Math.min(4, 10.2, 16, -2);
>> -2

Math.min(7);
>> 7

Math.min();
>> Infinity

最初の例では 4 つの引数を指定しています。引数の中で最小の値である -2 が返されています。二番目の例では引数を 1 つだけ指定しています。この場合は引数の値がそのまま返ります。再度の例では引数が一つも指定されていません。この場合は Infinity が返されます。

今度は引数の中に数値ではない値が存在する場合です。

Math.min(7, '8.4', [3]);
>> 3

Math.min(4, NaN);
>> NaN

Math.min(8, 2, undefined);
>> NaN

数値以外の値が引数に指定された場合は数値に変換されてから比較が行われます。最初の例では文字列や配列の値が含まれていますが、数値に変換した場合に数値となるため数値に変換された中で最小の値が返されています。二番目と三番目の例では引数の中に NaN または数値に変換すると NaN になる値が含まれているため NaN が返されています。

-- --

Math オブジェクトの Math.max メソッドおよび Math.min メソッドの使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。