The Math.max()
function returns the largest of zero or more numbers.
Syntax
Math.max([value1[, value2[, ...]]])
Parameters
value1, value2, ...
- Numbers.
Return value
The largest of the given numbers. If at least one of the arguments cannot be converted to a number, NaN
is returned.
Description
Because max()
is a static method of Math
, you always use it as Math.max()
, rather than as a method of a Math
object you created (Math
is not a constructor).
If no arguments are given, the result is -Infinity
.
If at least one of arguments cannot be converted to a number, the result is NaN
.
Examples
Using Math.max()
Math.max(10, 20); // 20 Math.max(-10, -20); // -10 Math.max(-10, 20); // 20
The following function uses Function.prototype.apply()
to find the maximum element in a numeric array. getMaxOfArray([1, 2, 3])
is equivalent to Math.max(1, 2, 3)
, but you can use getMaxOfArray()
on programmatically constructed arrays of any size.
function getMaxOfArray(numArray) { return Math.max.apply(null, numArray); }
Array.reduce()
can also be used to get the maximum of an array, by comparing each value.
var arr = [1,2,3]; var max = arr.reduce(function(a, b) { return Math.max(a, b); });
Or with the new spread operator
, getting the maximum of an array becomes a lot easier.
var arr = [1, 2, 3]; var max = Math.max(...arr);
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.0. |
ECMAScript 5.1 (ECMA-262) The definition of 'Math.max' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Math.max' in that specification. |
Standard | |
ECMAScript Latest Draft (ECMA-262) The definition of 'Math.max' in that specification. |
Draft |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |