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

Spezifikation Status Kommentar
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition. In JavaScript 1.0 implementiert.
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Math.max' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Math.max' in dieser Spezifikation.
Standard  
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Math.max' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung Ja Ja1 Ja Ja Ja
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Ja Ja Ja4 Ja Ja Ja

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: tzimmermann, schlagi123, screeny05, Elytherion, ptitmouton
Zuletzt aktualisiert von: tzimmermann,