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
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
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:
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.
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.
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 Language Specification # sec-math.max |
Compatibilidade com navegadores
BCD tables only load in the browser
Veja também
- O objeto
Math
pertence a. Math.min()