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.
La función Math.max()
retorna el mayor de cero o más números dados como parámetros de entrada, o NaN
si cualquier parámetro no es un número y no puede ser convertido en uno.
Pruébalo
Sintaxis
Math.max();
Math.max(valor0);
Math.max(valor0, valor1);
Math.max(valor0, valor1, /* ... ,*/ valorN);
Parámetros
valor1
,valor2
, ... ,valorN
-
Cero o más números entre los cuales el mayor valor será seleccionado y retornado.
Valor retornado
Descripción
Ejemplos
Usando Math.max()
Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20
Obteniendo el elemento máximo de un arreglo
Se puede usar Array.reduce()
para encontrar el
elemento máximo en un arreglo numérico, comparando cada valor:
var arr = [1, 2, 3];
var max = arr.reduce(function (a, b) {
return Math.max(a, b);
}, -Infinity);
La siguiente función usa Function.prototype.apply()
para obtener el máximo
de un arreglo. getMaxOfArray([1, 2, 3])
es equivalente a
Math.max(1, 2, 3)
, pero se puede usar getMaxOfArray()
en
arreglos construidos de manera programada. Esto debería ser usado solamente para arreglos con
relativamente pocos elementos.
function getMaxOfArray(numArray) {
return Math.max.apply(null, numArray);
}
La nueva sintaxis extendida
es una manera más corta de escribir la solución con apply
para obtener
el máximo de un arreglo:
var arr = [1, 2, 3];
var max = Math.max(...arr);
Sin embargo, tanto la sintaxis extendida (...
) como apply
fallarán o retornarán
un resultado incorrecto si el arreglo tiene demasiados elementos, porque intentan pasar el arreglo
de elementos como parámetros de función.
Ver apply y funciones incorporadas
para más detalles. La solución con reduce
no tiene este problema.
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-math.max |
Compatibilidad con navegadores
BCD tables only load in the browser