找出数组中的最大值和最小值,你能想出几种方法呢?
1.排序法 sort
var ary = [12,23,24,46,13,59]
ary.sort((a,b)=>{
return a-b;
})
var min = ary[0];
var max = ary[ary.length-1]
console.log(min,max)
2.假设法 *
var ary = [12,23,24,46,13,59]
var min = ary[0],max = ary[0];
for(var i=1;i<=ary.length;i++){
min > ary[i] ? min=ary[i] : null;
max < ary[i] ? max=ary[i] : null;
}
console.log(min,max)
3.Math
var ary = [12,23,24,46,13,59];
//这里Math.min不能直接传数组类型,需要进行转换
var min = Math.min(ary) //NaN
var min = Math.min(12,23,24,46,13,59)//12
//toString()或join()均可以将数组转成字符串类型
var min = eval("Math.min("+ary.toString()+")");
var max = eval("Math.max("+ary.toString()+")");
console.log(min,max)
4.apply改变this指向
var ary = [12,23,24,46,13,59];
var max= Math.max.apply(null,ary);
var min= Math.min.apply(null,ary);
暂时想到这四种,欢迎补充~