Home > Web Front-end > JS Tutorial > body text

What does Math.max() return without parameters? Why?

青灯夜游
Release: 2021-06-02 10:34:09
forward
1903 people have browsed it

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.

What does Math.max() return without parameters? Why?

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
Copy after login

If Math.max() only uses one parameter, what is the result?

Math.max(1); // => 1
Copy after login

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
Copy after login

Math.max() without parameters returns -Infinity. Next, let’s take a look at why this is the case.

The maximum value in an array

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
Copy after login

Maximum value in two arrays

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
Copy after login

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
Copy after login

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!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template