Math.max()

Die Funktion Math.max() gibt die größte von 0 oder mehr Zahlen zurück.

Syntax

Math.max([wert1[, wert2[, ...]]])

Parameter

wert1, wert2, ...
Zahlen.

Rückgabewert

Die größte der übergebenen Zahlen. Wenn mindestens ein Parameter nicht zu einer Zahl konvertiert werden kann, wird NaN zurückgegeben.

Beschreibung

Weil max() eine statische Methode von Math ist, kann nur Math.max() verwendet werden. Eine Verwendung mit Math als instanziertem Objekt ist nicht möglich (Math ist kein constructor).

Wenn keine Argumente übergeben wurden ist der Rückgabewert -Infinity.

Wenn mindestens eines der Argumente nicht in eine Zahl umgewandelt werden kann, ist der Rückgabewert NaN.

Beispiele

Einsatz von Math.max()

Math.max(10, 20);   //  20
Math.max(-10, -20); // -10
Math.max(-10, 20);  //  20

Das größte Element in einem Array ermitteln

Array.reduce() kann ebenfalls benutzt werden, um das Maximum eines Arrays zu erhalten, indem jeder Wert verglichen wird.

var arr = [1, 2, 3];
var max = arr.reduce(function(a, b) {
  return Math.max(a, b);
});

Die folgende Funktion benutzt Function.prototype.apply(), um den maximalen Wert eines numerischen Arrays zu finden. getMaxOfArray([1, 2, 3]) entspricht Math.max(1, 2, 3), aber getMaxOfArray() kann programmatisch erstellte Arrays jeder Art annehmen.

function getMaxOfArray(numArray) {
  return Math.max.apply(null, numArray);
}

Alternativ ist es mit dem neuen spread Operator viel einfacher, den maximalen Wert eines Arrays herauszufinden.

var arr = [1, 2, 3];
var max = Math.max(...arr);

Bei dem Einsatz des spread Operator oder apply kann der Aufruf fehlschlagen oder ein ungültiges Ergebnis herauskommen, wenn das Array zu viele Elemente hat. Das liegt daran, dass versucht wird die Elemente des Arrays als Parameter einer Funktion zu übergeben. Siehe für mehr Details im Abschnitt Einsatz von apply und standard Funktionen nach. Die reduce Lösung hat dieses Problem nicht.

Spezifikationen

Browserkompatibilität

BCD tables only load in the browser

Siehe auch