Math.max()
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
js
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()
js
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:
js
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.
js
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:
js
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