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 julio de 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
console.log(Math.max(1, 3, 2));
// Expected output: 3
console.log(Math.max(-1, -3, -2));
// Expected output: -1
const array1 = [1, 3, 2];
console.log(Math.max(...array1));
// Expected output: 3
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
El mayor de los números dados. Si uno o más de los parámetros no puede ser convertido a
un número, retorna NaN
. El resultado es
-Infinity
si no se proveen parámetros.
Descripción
Como max()
es un método estático de Math
, siempre se usa
como Math.max()
, en lugar de como un método de un objeto Math
creado (Math
no es un constructor).
Si no se proveen argumentos, el resultado es -Infinity
.
Si al menos uno de los argumentos no puede ser convertido a número, el resultado es
NaN
.
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® 2026 Language Specification> # sec-math.max> |
Compatibilidad con navegadores
Loading…