Fe-interview: [js] 第503天 Math.min() < Math.max() 返回结果是什么?为什么?

Created on 30 Aug 2020  ·  1Comment  ·  Source: haizlin/fe-interview

第503天 Math.min() < Math.max() 返回结果是什么?为什么?

3+1官网

我也要出题

js

Most helpful comment

返回false,因为Math.min()返回InfinityMax.max()返回-Infinity

猜测Math.max的实现方式大致如下:

function max(...args) {
    return args.reduce((acc, cur) => cur > acc ? cur : acc, -Infinity);
}

max()接受不定项参数,当参数只有一个的时候,例如max(5),那么这个5需要和-Infinity(js中最小的数)进行比较,所以结果返回5,哪怕传入的值再小,单个参数的max应该始终是该参数本身。

这样就可以不需要判断参数的个数就可以返回结果。如果不传入参数,结果自然是-Infinity

Math.min()反之亦然。

>All comments

返回false,因为Math.min()返回InfinityMax.max()返回-Infinity

猜测Math.max的实现方式大致如下:

function max(...args) {
    return args.reduce((acc, cur) => cur > acc ? cur : acc, -Infinity);
}

max()接受不定项参数,当参数只有一个的时候,例如max(5),那么这个5需要和-Infinity(js中最小的数)进行比较,所以结果返回5,哪怕传入的值再小,单个参数的max应该始终是该参数本身。

这样就可以不需要判断参数的个数就可以返回结果。如果不传入参数,结果自然是-Infinity

Math.min()反之亦然。

Was this page helpful?
0 / 5 - 0 ratings