Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

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 ⁨julho de 2015⁩.

Sumário

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

Sintaxe

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

Parâmetros

valor1, valor2, ...

Números.

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® 2026 Language Specification
# sec-math.max

Compatibilidade com navegadores

Veja também