このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Math.max()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Math.max() は静的メソッドで、入力引数として与えられた数値のうち最大の値を返します。引数がなかった場合は -Infinity を返します。
In this article
試してみましょう
console.log(Math.max(1, 3, 2));// 予想される結果: 3console.log(Math.max(-1, -3, -2));// 予想される結果: -1const array = [1, 3, 2];console.log(Math.max(...array));// 予想される結果: 3構文
Math.max()Math.max(value1)Math.max(value1, value2)Math.max(value1, value2, /* … ,*/ valueN)引数
value1, …,valueN最大値を選択して返すための、 0 個以上の数値です。
返値
与えられた数のうちの最大の値です。何れかの引数がNaN であるか、それに変換された場合はNaN を返します。引数が与えられなかった場合は -Infinity を返します。
解説
max() はMath の静的メソッドですので、生成したMath オブジェクトのメソッドとしてではなく、常にMath.max() として使用してください(Math はコンストラクターではありません)。
Math.max.length は 2 であり、最低でも 2 つの引数を処理するよう設計されていることを示唆しています。
例
>Math.max() の使用
Math.max(10, 20); // 20Math.max(-10, -20); // -10Math.max(-10, 20); // 20配列の最大値の取得
Array.prototype.reduce() を使用して、数値の配列の中にある最大値の要素を、それぞれの値を比較して探し出すことができます。
const arr = [1, 2, 3];const max = arr.reduce((a, b) => Math.max(a, b), -Infinity);次の関数ではFunction.prototype.apply() を使用して配列の最大値を取得します。getMaxOfArray([1, 2, 3]) はMath.max(1, 2, 3) と同等ですが、getMaxOfArray() はプログラム的に構築された配列に使用することができます。これは比較的要素が少ない配列に対して使用してください。
function getMaxOfArray(numArray) { return Math.max.apply(null, numArray);}新しいスプレッド構文で、apply によって配列の最大値を得る方法をより短く書くことができます。
const arr = [1, 2, 3];const max = Math.max(...arr);しかし、スプレッド構文の (...) とapply のどちらも、配列に膨大な要素があった場合は、配列の要素を関数の引数として渡そうとするため、失敗したり、誤った結果を返したりすることがあります。詳しくはapply を組み込み関数と共に利用するを参照してください。reduce の方法はこの問題が発生しません。
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-math.max> |