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.
Die statische Methode Math.max()
gibt die größte der als Eingabeparameter gegebenen Zahlen zurück oder -Infinity
, wenn keine Parameter vorhanden sind.
Probieren Sie es aus
console.log(Math.max(1, 3, 2));
// Expected output: 3
console.log(Math.max(-1, -3, -2));
// Expected output: -1
const array = [1, 3, 2];
console.log(Math.max(...array));
// Expected output: 3
Syntax
Math.max()
Math.max(value1)
Math.max(value1, value2)
Math.max(value1, value2, /* …, */ valueN)
Parameter
value1
, …,valueN
-
Null oder mehr Zahlen, unter denen der größte Wert ausgewählt und zurückgegeben wird.
Rückgabewert
Beschreibung
Da max()
eine statische Methode von Math
ist, verwenden Sie sie immer als Math.max()
, anstatt als Methode eines selbst erstellten Math
-Objekts (Math
ist kein Konstruktor).
Math.max.length
ist 2, was schwach signalisiert, dass es darauf ausgelegt ist, mindestens zwei Parameter zu verarbeiten.
Beispiele
Verwendung von Math.max()
Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20
Das maximale Element eines Arrays erhalten
Array.prototype.reduce()
kann verwendet werden, um das maximale
Element in einem numerischen Array zu finden, indem jeder Wert verglichen wird:
const arr = [1, 2, 3];
const max = arr.reduce((a, b) => Math.max(a, b), -Infinity);
Die folgende Funktion verwendet Function.prototype.apply()
, um das Maximum eines Arrays zu erhalten. getMaxOfArray([1, 2, 3])
ist äquivalent zu Math.max(1, 2, 3)
, aber Sie können getMaxOfArray()
für programmgesteuert erstellte Arrays verwenden. Dies sollte nur für Arrays mit relativ wenigen Elementen verwendet werden.
function getMaxOfArray(numArray) {
return Math.max.apply(null, numArray);
}
Die Spread-Syntax ist eine kürzere Möglichkeit, die apply
-Lösung zu schreiben, um das Maximum eines Arrays zu erhalten:
const arr = [1, 2, 3];
const max = Math.max(...arr);
Sowohl die Spread-Syntax (...
) als auch apply
schlagen jedoch fehl oder liefern das falsche Ergebnis, wenn das Array zu viele Elemente hat, da sie versuchen, die Array-Elemente als Funktionsparameter zu übergeben. Siehe Using apply and built-in functions für weitere Details. Die reduce
-Lösung hat dieses Problem nicht.
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-math.max |