Bootstrap

求数组的最大值和最小值的四种方法

求数组中的最大值和最小值有很多种方法:

🧡方法1:for循环找最大值;

💛方法2:先对数组排序(从大到小,或者从小到大)max/min = arr[length-1]

💜方法3:使用内置对象Math身上的max/min方法,注意这种方法传入的值是不是数组,而是一个接一个的元素,这时候应该想到 ES6中的解构数组 了

💚方法4:巧用apply方法,因为apply方法它在执行的时候,可以将传入的数组解析成一个一个的元素。

代码验证:

let arr = [23,1,33,6,8,2];
max = Math.max(...arr);
console.log(max)   //33

min = Math.min.apply(null,arr)
console.log(min)   //1

关于apply方法的说明:

1、Math.max 参数里面不支持 Math.max([param1,param2]) 也就是数组   它支持Math.max(param1,param2,param3…),所以可以apply执行时会将数组解析成单个元素传入的特点来解决

2、第一个参数null?   

        第一个参数给了一个null,这个是因为没有对象去调用这个方法,

        我只需要用这个方法帮我运算,得到返回的结果就行,.所以直接传递了一个null过去

综上所属:

用Math.max()+es6解构方法是最简单的。只需一行代码

感觉学好 数组 的各种方法,做算法题直接起飞!!!!

;