JavaScript求数组的最大值与最小值

在JavaScript中,当要求一串数中的最大值或最小值时,可以使用Math.max()和Math.min()来实现,使用方法如下:

Math.max(12, 15, 0, 20, -1);//20
Math.min(12, 15, 0, 20, -1);//-1

但尴尬的是,Math.max()和Math.min()不允许传入数组,所以在ES5或者更早的版本中,可能需要手动实现重数组中遍历取值, 或使用apply()方法:

var values = [12, 15, 0, 20, -1];
var max = Math.max.apply(Math, values);//20
var min = Math.min.apply(Math, values);//-1

这个方法确实比较方便可行,但总会让我们摸不着头脑;所以在ES6中,Math.max()和Math.min()得到了改进,无须再调用apply()方法,只需要传入一个数组,就可求出这个数组的最大或最小值,这是用于ES6使用了展开运算符“...”,JavaScript引擎读取后会将参数数组分割为各自独立的参数并依次传入:

let values = [12, 15, 0, 20, -1];
let max1 = Math.max(...values);//20
let min1 = Math.min(...values);//-1
let max2 = Math.max(...values, 100)//100
let min2 = Math.min(...values, -3)//-3

怎么样,ES6的这个升级是不是比以前更加方便了?赶快使用吧

你可能感兴趣的:(JavaScript学习)