取数组最大值的几种方法
var arr = [7,2,0,-3,5];
apply()应用某一对象的一个方法,用另一个对象替换当前对象
1 | var max = Math.max.apply(null,arr); |
由于 max()里面参数不能为数组,所以借助 apply(funtion,args)方法调用 Math.max(),function 为要调用的方法,args 是数组对象,当 function 为 null 时,默认为上文,即相当于 apply(Math.max,arr)
call()调用一个对象的一个方法,以另一个对象替换当前对象
1 | var max1 = Math.max.call(null,7,2,0,-3,5) |
call()与 apply()类似,区别是传入参数的方式不同,apply()参数是一个对象和一个数组类型的对象,call()参数是一个对象和参数列表
sort()+reverse()
1 | //sort()排序默认为升序,reverse()将数组掉个 |
sort()
1 | //b-a 从大到小,a-b 从小到大 |
pop()
1 | var max3 = arr.sort().pop(); |