Heim  >  Artikel  >  Web-Frontend  >  Was gibt Math.max() ohne Parameter zurück? Warum?

Was gibt Math.max() ohne Parameter zurück? Warum?

青灯夜游
青灯夜游nach vorne
2021-06-02 10:34:091816Durchsuche

In diesem Artikel erfahren Sie, was Math.max() ohne Parameter zurückgibt. Warum? Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Was gibt Math.max() ohne Parameter zurück? Warum?

Math.max() ist eine in JS integrierte Methode, die den größten der übergebenen Parameter zurückgeben kann. Zum Beispiel: Math.max() 是 JS 内置的方法,可以从传入的参数中,返回最大的一个。例如:

Math.max(1, 2, 3); // => 3

如果Math.max()只使用一个参数,结果是怎么样的?

Math.max(1); // => 1

正如预期的那样,一个数字的最大值就是它本身。

但是,如果调用不带参数 Math.max() 结果又是怎么样的呢?

Math.max(); // => -Infinity

不带参数的 Math.max() 返回的结果是 -Infinity,接下来,我们来看看为什么会这样。

一个数组中的最大值

在探讨这个问题之前,我们先来 Math.max()是如何从数组中得到最大值的。

Math.max(num1, num2, ..., numN)接受多个数字参数,并返回它们的最大数量。

如果想从数组中获取最大值,我们可以使用展开运算符:

const numbers1 = [1, 2, 3];

Math.max(...numbers1); // => 3

两个数组中的最大值

现在,我们来看看有趣的事情,给定两个数组,我们先确定每个数组中的最大值,然后在从获取这两个最大值在确定出其中的最大值。

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

数组 [1, 2, 3] 最大值是 3,数组 [0, 6]大最值是 6,最后  3  和  6 的最大值是  6.

没毛病,我们继续。

如果一个数组是空的,结果又会是怎么样的, 我们动手试试:

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

现在,当第一个数组为空时,上面的最大值也是  6

这里比较有趣的是Math.max(...numbers1)的返回值,当numbers1数组为空时,这与调用不带参数的Math.max()相同,结果是 -Infinity

所以 Math.max(max1,max2) 等价于 Math.max(-Infinity, 6),结果为6。

现在就知道为什么Math.max()在不带参数的情况下调用时返回-Infinity:这是在一个空集合上定义max函数的一种方式。

这与加法类似,max的-Infinity和加法的0是一样的。

Math.min()也具有相同的行为-当不带参数调用时,它将返回Infinity

关于对实数的最大运算,-Infinity称为Identity元素

到这里本文就完啦,这里来个挑战:你能否编写一个与Math.max()完全一样的 sum(num1, num2, ..., numN)rrreee

Wenn Math.max() nur einen Parameter verwendet, was ist das Ergebnis?

rrreeeWie erwartet ist der Maximalwert einer Zahl sie selbst.

Aber was ist das Ergebnis, wenn man Math.max() ohne Parameter aufruft?
rrreee

Das von Math.max() ohne Parameter zurückgegebene Ergebnis ist -Infinity. Schauen wir uns als Nächstes an, warum dies der Fall ist.

Der Maximalwert in einem Array

Bevor wir dieses Problem diskutieren, schauen wir uns zunächst an, wie Math.max() den Maximalwert aus einem Array erhält.

Math.max(num1, num2, ..., numN) akzeptiert mehrere numerische Parameter und gibt deren maximale Anzahl zurück.

Wenn wir den Maximalwert aus einem Array erhalten möchten, können wir den Spread-Operator verwenden: rrreee

Maximalwert in zwei Arrays🎜

🎜Nun sehen wir uns etwas Interessantes an, gegeben von zwei Arrays, wir Bestimmen Sie zunächst den Maximalwert in jedem Array, ermitteln Sie dann die beiden Maximalwerte und bestimmen Sie den Maximalwert unter ihnen. 🎜rrreee🎜Der Maximalwert des Arrays [1, 2, 3] ist 3, der Maximalwert des Arrays [0, 6] ist 6 und schließlich der Der Maximalwert von 3 und 6 ist 6.🎜🎜Kein Problem, weiter geht’s. 🎜🎜Was wird das Ergebnis sein, wenn ein Array leer ist? Versuchen wir es: 🎜rrreee🎜Wenn das erste Array leer ist, ist der obige Maximalwert ebenfalls 6. 🎜🎜Was hier noch interessanter ist, ist der Rückgabewert von Math.max(...numbers1). Wenn das Array numbers1 leer ist, unterscheidet sich dies vom Aufruf von Math.max() ist derselbe, das Ergebnis ist -Infinity. 🎜🎜Also ist Math.max(max1, max2) äquivalent zu Math.max(-Infinity, 6) und das Ergebnis ist 6. 🎜🎜Jetzt wissen Sie, warum Math.max() -Infinity: zurückgibt, wenn es ohne Argumente aufgerufen wird. Dies definiert max-Infinity ist dasselbe wie die 0 der Addition. 🎜🎜Math.min() hat auch das gleiche Verhalten – wenn es ohne Argumente aufgerufen wird, gibt es Infinity zurück. 🎜🎜 In Bezug auf die Maximaloperation für reelle Zahlen wird -Infinity als 🎜Identitätselement bezeichnet. 🎜🎜🎜Das war's für diesen Artikel, hier ist eine Herausforderung: Können Sie einen Code schreiben, der Math ähnelt? max ()Genau die gleiche sum(num1, num2, ..., numN)-Funktion, ihre Funktion besteht darin, die Summe aller Elemente zu ermitteln, was das 🎜🎜🎜Identity-Element ist 🎜, es gibt Wenn Sie es nicht verstehen, hinterlassen Sie bitte eine Nachricht, um etwas Wissen hinzuzufügen. 🎜🎜🎜Englische Originaladresse: https://dmitripavlun.com/javscript-math-max-infinity/🎜🎜Autor: Dmitri Pavlutin🎜🎜Übersetzer: Front-end Xiaozhi🎜🎜🎜Weitere Programmierkenntnisse finden Sie unter: 🎜Einführung in die Programmierung🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonWas gibt Math.max() ohne Parameter zurück? Warum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen