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.

Sumário

A função Math.max() retorna o maior de um ou mais números.

Sintaxe

Math.max([valor1[,valor2, ...]])

Parâmetros

Valor de retorno

O maior dos números passados como argumentos. Se pelo menos um dos argumentos não puder ser convertido para um número NaN é retornado.

Descrição

Por max ser um método estático em Math, você sempre irá usá-lo da seguinte maneira Math.max(), e não como um método da classe Math que você tenha instanciado.

Se nenhum argumento for passado o resultado sempre será - Infinity.

Se um dos argumentos não puder ser convertido em um número, o resultado será NaN.

Exemplos

Usando Math.max

js
Math.max(10, 20); //  20
Math.max(-10, -20); // -10
Math.max(-10, 20); //  20

Retornando o maior elemento de um array

Array.reduce() pode ser usada para encontrar o maior elemento em um vetor numérico, comparando cada valor:

js
var arr = [1, 2, 3];
var max = arr.reduce(function (a, b) {
  return Math.max(a, b);
}, -Infinity);

A função a seguir utiliza Function.prototype.apply() para encontrar o elemento de maior valor dentro do array. getMaxOfArray([1,2,3]) é equivalente a Math.max(1, 2, 3), mas você pode usar getMaxOfArray em arrays construídos programaticamente e o ideal é utilizá-la somente em arrays com relativamente poucos elementos.

js
function getMaxOfArray(numArray) {
  return Math.max.apply(null, numArray);
}

O novo operador spread é um modo curto de se escrever a solução com apply para retornar o maior valor de um array.

js
var arr = [1, 2, 3];
var max = Math.max(...arr);
// max: 3

Entretanto, tanto spread(...) quanto apply irão ou falhar ou retornar o resultado errado caso o array tenha muitos elementos, porque eles tentam passar o array de elementos como parâmetros de funções. Veja usando apply e funções embutidas para mais detalhes. A solução com reduce não apresenta esse problema.

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-math.max

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
max

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja também