js求数组的最大值方法总结

1、利用sort方法,先对数组排序然后再取最后一项

var ary = [1,33,2,55,34,66,88,3];
console.log(ary.sort(function(a,b){return a-b;})[ary.length-1]);

2、利用循环相邻两两比较

var ary = [1,33,2,55,34,66,88,3];
for(var i=0;i<ary.length-1;i++){
    if(ary[i]>ary[i+1]){
        // 方案一:数组相邻两项交换
        var temp = ary[i];
        ary[i] = ary[i+1];
        ary[i+1] = temp;
        // 方案二:数组相邻两项交换
        // var a = ary[i] + ary[i+1];
        // var b = ary[i] - ary[i+1];
        // ary[i] = (a-b)/2;
        // ary[i+1] = (a+b)/2;
    }
}
console.log(ary[ary.length-1]);

3、假设法

var ary = [1,33,2,55,34,66,88,3];
var max = ary[0];
for(var i=1;i<ary.length;i++){
    if(max<ary[i]){
        max = ary[i];
    }
}
console.log(max);

4、利用apply改变参数的传递方式

var ary = [1,33,2,55,34,66,88,3];
console.log(Math.max.apply(null,ary));

5、利用展开运算符...

var ary = [1,33,2,55,34,66,88,3];
console.log(Math.max(...ary));//展开运算符是ie6的语法,在ie11以下的版本不兼容
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值