Math.max.apply()用法
apply的一些其他巧妙用法
Math.max.apply( null, [12,23,34,45] );
//细心的人可能已经察觉到,在我调用apply方法的时候,
// 第一个参数是对象(this),
// 第二个参数是一个数组集合,
// 在调用Person的时候,他需要的不是一个数组,
// 但是为什么他给我一个数组我仍然可以将数组解析为一个一个的参数,
// 这个就是apply的一个巧妙的用处:可以将一个数组默认的转换为一个参数列表([param1,param2,param3] 转换为 param1,param2,param3) 这个如果让我们用程序来实现将数组的每一个项,来装换为参数的列表,
// 可能都得费一会功夫,借助apply的这点特性,所以就有了以下高效率的方法:
max函数用法
// Math.max后面可以接任意个参数,最后返回所有参数中的最大值。
console.log(Math.max(5,8)) //8
console.log(Math.max(5,7,9,3,1,6)) //9
//但是在很多情况下,我们需要找出数组中最大的元素。
var arr=[5,7,9,1]
alert(Math.max(arr)) // 这样却是不行的。因为其不支持传递数组过去 那么怎么做呢,就要考察我们的算法功底了。。
function getMax(arr){
var arrLen=arr.length;
for(var i=0,ret=arr[0];i<arrLen;i++){
ret=Math.max(ret,arr[i]);
}
return ret;
}
获取数组中的最大值
var max=Math.max.apply(null,[1,888,88])
alert('最大值:'+max)
获取数组中的最小值
var max=Math.min.apply(null,[1,888,88])
alert('最小值:'+min)