This article will introduce to you what Math.max() will return without parameters? Why? It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.
Math.max()
is a JS built-in method that can return the largest one from the passed parameters. For example:
Math.max(1, 2, 3); // => 3
If Math.max()
only uses one parameter, what is the result?
Math.max(1); // => 1
As expected, the maximum value of a number is itself.
But, what is the result if Math.max()
is called without parameters?
Math.max(); // => -Infinity
Math.max()
without parameters returns -Infinity
. Next, let’s take a look at why this is the case.
Before discussing this issue, let’s first look at how Math.max()
is obtained from the array maximum value.
Math.max(num1, num2, ..., numN)
Accepts multiple numeric parameters and returns their maximum number.
If we want to get the maximum value from an array, we can use the spread operator:
const numbers1 = [1, 2, 3]; Math.max(...numbers1); // => 3
Now, Let's look at something interesting. Given two arrays, we first determine the maximum value in each array, and then determine the maximum value after getting the two maximum values.
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
Array[1, 2, 3]
The maximum value is 3, array[0, 6]
The maximum value is 6, and finally the maximum value of 3 and 6 The value is 6.
Nothing wrong, let’s continue.
If an array is empty, what will the result be? Let’s try it:
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
Now, when the first array is empty, the maximum value above is also 6
.
What is more interesting here is the return value of Math.max(...numbers1)
. When the numbers1
array is empty, this is different from calling without parameters. Math.max()
is the same, the result is -Infinity
.
So Math.max(max1, max2)
is equivalent to Math.max(-Infinity, 6)
, and the result is 6.
Now you know whyMath.max()
returns when called without arguments-Infinity:
This is defined on an empty collection A way of max
function.
This is similar to addition. The -Infinity
of max is the same as the 0
of addition.
Math.min()
also has the same behavior - when called without arguments, it returns Infinity
.
Regarding the maximum operation on real numbers, -Infinity
is called Identity element
This article is over here, here is a challenge: you Can you write a sum(num1, num2, ..., numN)
function that is exactly the same as Math.max()
? Its function is to find the sum of all elements,
What is the Identity element? If you don’t understand it, please leave a message to add some knowledge.
English original address: https://dmitripavlun.com/javscript-math-max-infinity/
Author: Dmitri Pavlutin
Translator: Front-end Xiao Zhi
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of What does Math.max() return without parameters? Why?. For more information, please follow other related articles on the PHP Chinese website!