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 July 2015.
TheMath.max() static method returns the largest of the numbers given as input parameters, or -Infinity if there are no parameters.
In this article
Try it
console.log(Math.max(1, 3, 2));// Expected output: 3console.log(Math.max(-1, -3, -2));// Expected output: -1const array = [1, 3, 2];console.log(Math.max(...array));// Expected output: 3Syntax
Math.max()Math.max(value1)Math.max(value1, value2)Math.max(value1, value2, /* …, */ valueN)Parameters
value1, …,valueNZero or more numbers among which the largest value will be selected and returned.
Return value
The largest of the given numbers. ReturnsNaN if any of the parameters is or is converted intoNaN. Returns -Infinity if no parameters are provided.
Description
Becausemax() is a static method ofMath, you always use it asMath.max(), rather than as a method of aMath object you created (Math is not a constructor).
Math.max.length is 2, which weakly signals that it's designed to handle at least two parameters.
Examples
>Using Math.max()
Math.max(10, 20); // 20Math.max(-10, -20); // -10Math.max(-10, 20); // 20Getting the maximum element of an array
Array.prototype.reduce() can be used to find the maximumelement in a numeric array, by comparing each value:
const arr = [1, 2, 3];const max = arr.reduce((a, b) => Math.max(a, b), -Infinity);The following function usesFunction.prototype.apply() to get the maximum of an array.getMaxOfArray([1, 2, 3]) is equivalent toMath.max(1, 2, 3), but you can usegetMaxOfArray() on programmatically constructed arrays. This should only be used for arrays with relatively few elements.
function getMaxOfArray(numArray) { return Math.max.apply(null, numArray);}Thespread syntax is a shorter way of writing theapply solution to get the maximum of an array:
const arr = [1, 2, 3];const max = Math.max(...arr);However, both spread (...) andapply will either fail or return the wrong result if the array has too many elements, because they try to pass the array elements as function parameters. SeeUsing apply and built-in functions for more details. Thereduce solution does not have this problem.
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-math.max> |