Maison > Article > interface Web > Que renvoie Math.max() sans paramètres ? Pourquoi?
Cet article vous présentera ce que Math.max() retournera sans paramètres ? Pourquoi? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Math.max()
est une méthode intégrée dans JS qui peut renvoyer la plus grande méthode parmi les paramètres transmis. Par exemple :
Math.max(1, 2, 3); // => 3
Si Math.max()
n'utilise qu'un seul paramètre, quel est le résultat ?
Math.max(1); // => 1
Comme prévu, la valeur maximale d'un nombre est lui-même.
Mais quel est le résultat s'il est appelé sans paramètres Math.max()
?
Math.max(); // => -Infinity
sans paramètres Math.max()
renvoie le résultat -Infinity
Voyons ensuite pourquoi c'est le cas.
Avant de discuter de ce problème, voyons d'abord comment Math.max()
obtient la valeur maximale d'un tableau.
Math.max(num1, num2, ..., numN)
Accepte plusieurs arguments numériques et renvoie leur nombre maximum.
Si nous voulons obtenir la valeur maximale d'un tableau, nous pouvons utiliser l'opérateur spread :
const numbers1 = [1, 2, 3]; Math.max(...numbers1); // => 3
Maintenant , Regardons quelque chose d'intéressant. Étant donné deux tableaux, nous déterminons d'abord la valeur maximale dans chaque tableau, puis déterminons la valeur maximale après avoir obtenu les deux valeurs maximales.
const numbers1 = [1, 2, 3]; const numbers2 = [0, 6]; const max1 = Math.max(...numbers1); const max2 = Math.max(...numbers2); max1; // 3 max2; // 6 Math.max(max1, max2); // => 6
La valeur maximale du tableau [1, 2, 3]
est 3, la valeur maximale du tableau [0, 6]
est 6, et enfin la valeur maximale de 3 et 6 est 6.
Pas de problème, continuons.
Quel sera le résultat si un tableau est vide ? Essayons :
const numbers1 = []; const numbers2 = [0, 6]; const max1 = Math.max(...numbers1); const max2 = Math.max(...numbers2); max1; // -Infinity max2; // 6 Math.max(max1, max2); // => 6
Maintenant, lorsque le premier tableau est vide, la valeur maximale ci-dessus est également 6
.
Ce qui est plus intéressant ici, c'est la valeur de retour de Math.max(...numbers1)
Lorsque le tableau numbers1
est vide, cela revient à appeler Math.max()
sans paramètres, et le résultat est -Infinity
.
Donc Math.max(max1,max2)
équivaut à Math.max(-Infinity, 6)
, et le résultat est 6.
Vous savez maintenant pourquoi Math.max()
renvoie -Infinity:
lorsqu'il est appelé sans arguments. C'est une façon de définir une fonction max
sur une collection vide.
Ceci est similaire à l'addition, le -Infinity
de max et le 0
d'addition sont les mêmes.
Math.min()
a également le même comportement : lorsqu'il est appelé sans arguments, il renvoie Infinity
.
Concernant l'opération maximale sur les nombres réels, -Infinity
est appelé l'élément Identité
C'est tout pour cet article Voici un défi : Pouvez-vous écrire un code avec. Math.max()
Exactement la même fonction sum(num1, num2, ..., numN)
. Sa fonction est de trouver la somme de tous les éléments. Qu'est-ce que
Élément d'identité Si vous le comprenez, veuillez laisser un message pour l'ajouter. quelques connaissances.
Adresse originale en anglais : https://dmitripavlun.com/javscript-math-max-infinity/
Auteur : Dmitri Pavlutin
Traducteur : Front-end Xiao Zhi
Pour plus de connaissances sur la programmation, veuillez visiter : Introduction à la programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!