关注前端 | 前端博客
当前位置: JavaScript > 求数组中的最大值的六种方法

求数组中的最大值的六种方法

2018-04-14 分类:JavaScript 作者:管理员 阅读(101)

var arr=[1,231,33,33,9999,9999,9339,1011];

第一种 :sort()
1
2
3
4
5
6
Array.prototype.max = function() {
    return this.sort(function(a,b) {
        return a - b
    })[this.length - 1]
}
arr.max() //9999
第二种 : 排序,这里只选排序的冒泡排序为代表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array.prototype.max=function() {
    var len=this.length;
    for(var i=0; i<len-1;i++){
        for(var j=0;j<len-i-1;j++){
            if(this[j]>this[j+1]){
                var temp=this[j];
                this[j]=this[j+1];
                this[j+1]=temp;
            }
        }
    }
    return this[this.length-1]
}
arr.max() //9999
第三种 : 比较
1
2
3
4
5
6
7
8
9
10
Array.prototype.max=function(){
    var num=0;
    for(var i=0; i<this.length; i++){
        if(this[i]>num){
            num=this[i];
        }
    }
    return num
}
arr.max() //9999
第四种 : ES6里的reduce()
1
2
3
4
5
6
7
8
9
10
11
Array.prototype.max=function(){
    return this.reduce(function(init,item){
        if(init>=item){
            init=init
        }else{
            init=item
        }
        return init
    })
}
arr.max() //9999
第五种 : Math.max + apply
1
2
3
4
Array.prototype.max=function(){
    return Math.max.apply(null,this)
}
arr.max() //9999
第六种 :Math.max + ES6的扩展运算符(...)
1
2
3
4
Array.prototype.max=function(){
    return Math.max(...this)
}
arr.max() //9999

「两年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(1) 打赏

感谢您让我添加个鸡腿!

支付宝
微信
1

感谢您让我添加个鸡腿!

支付宝
微信
标签:

上一篇:

下一篇:

共有 0 条评论 - 求数组中的最大值的六种方法

博客简介

一位不知名的前端工程师,专注全栈技术,分享各种所遇问题与个人心得,梦想成为一位知名大神!

最近更新

精彩评论

服务热线:
 177****6038

 QQ在线交流

 旺旺在线