Baseline Widely available
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.
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.
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.
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
.
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.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4