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
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()
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 :
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).
function getMaxTableau(tableauNumerique) {
return Math.max.apply(null, tableauNumerique);
}
Avec la syntaxe de décomposition, on peut également utiliser cette forme, plus concise :
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
- La méthode statique
Math.min()