Maison >interface Web >js tutoriel >Que renvoie Math.max() sans paramètres ? Pourquoi?

Que renvoie Math.max() sans paramètres ? Pourquoi?

青灯夜游
青灯夜游avant
2021-06-02 10:34:091906parcourir

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.

Que renvoie Math.max() sans paramètres ? Pourquoi?

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.

La valeur maximale dans un tableau

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

Valeur maximale dans deux tableaux

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer