Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Math : méthode statique max()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La méthode statique Math.max() retourne le plus grand des nombres passés en paramètres, ou -Infinity s'il n'y a pas de paramètres.

Exemple interactif

console.log(Math.max(1, 3, 2));
// Sortie attendue : 3

console.log(Math.max(-1, -3, -2));
// Sortie attendue : -1

const array = [1, 3, 2];

console.log(Math.max(...array));
// Sortie attendue : 3

Syntaxe

js
Math.max()
Math.max(value1)
Math.max(value1, value2)
Math.max(value1, value2, /* …, */ valueN)

Paramètres

value1, …, valueN

Zéro ou plusieurs nombres parmi lesquels la plus grande valeur est sélectionnée et retournée.

Valeur de retour

Le plus grand des nombres passés en arguments. Retourne NaN si l'un des paramètres est ou est converti en NaN. Retourne -Infinity si aucun paramètre n'est fourni.

Description

Puisque max() est une méthode statique de Math, elle doit toujours être utilisée avec la syntaxe Math.max(), elle ne doit pas être appelée comme la méthode d'un autre objet qui a été créé (Math n'est pas un constructeur).

Math.max.length vaut 2, un signal faible indiquant qu'elle est conçue pour au moins deux paramètres.

Exemples

Utiliser Math.max()

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

Obtenir l'élément maximum d'un tableau

La méthode Array.prototype.reduce() peut être utilisée pour déterminer la valeur maximale d'un tableau de nombre en comparant les valeurs qui se suivent :

js
const arr = [1, 2, 3];
const max = arr.reduce((a, b) => Math.max(a, b), -Infinity);

On peut également utiliser Function.prototype.apply() afin de trouver le maximum parmi un tableau de nombres. Avec la fonction suivante, getMaxTableau([1,2,3]) est équivalent à Math.max(1, 2, 3), mais getMaxTableau peut être utilisé sur des tableaux construits dans les scripts. Cet usage est à réserver aux tableaux qui ont relativement peu d'éléments (voir avertissement ci-après).

js
function getMaxTableau(tableauNumerique) {
  return Math.max.apply(null, tableauNumerique);
}

Avec la syntaxe de décomposition, on peut également utiliser cette forme, plus concise :

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

Cependant, la décomposition (...) et apply échouent ou retournent un résultat incorrect si le tableau contient trop d'éléments, car ils essaient de passer les éléments du tableau en tant que paramètres de fonction. Voir Utiliser apply() et les fonctions natives pour plus de détails. La solution avec reduce n'a pas ce problème.

Spécifications

Spécification
ECMAScript® 2027 Language Specification
# sec-math.max

Compatibilité des navigateurs

Voir aussi