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以下的版本不兼容
发布了19 篇原创文章 · 获赞 3 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/u010510187/article/details/96426059