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