Math.max

1、Math.max()函数只能传入一组参数来求最大值,所以如果是要用于求一个数组中的最大值时,可以用Math.max.apply(Math,array),把this值指向Math对象,则第二个参数可以传入任意数组。

2、当给Math.max()或Math.min()函数传参时,若参数中有非数值的项,则会返回NaN。


扩展运算替代数组的apply方法

由于扩展运算符可以展开数组,所以不再需要apply方法,将数组转为函数的参数了。

复制代码
// ES5的写法
function f(x, y, z) {
  // ...
}
var args = [0, 1, 2];
f.apply(null, args);

// ES6的写法
function f(x, y, z) {
  // ...
}
var args = [0, 1, 2];
f(...args);

下面是扩展运算符取代apply方法的一个实际的例子,应用Math.max方法,简化求出一个数组最大元素的写法。

复制代码
// ES5的写法
Math.max.apply(null, [14, 3, 77]) 和
Math.max.apply(Math, [14, 3, 77]) 一样
// ES6的写法Math.max(...[14, 3, 77 ]) // 等同于Math.max(14, 3, 77);
复制代码

猜你喜欢

转载自blog.csdn.net/zhaofeiweb/article/details/81066669