金狮镖局 Design By www.egabc.com

本文实例分析了js中数组排序sort方法的原理。分享给大家供大家参考。具体分析如下:

最近在百度的项目中要用到对数组进行排序,当然一开始自然想到了数组的sort方法,这方法应用非常简单,大致如下:
复制代码 代码如下: window.onload=function(){
        var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98];
        var arr2=["George","John","Thomas","James","Adrew","Martin"];
        function arrsort(a,b){
            return a-b;
            }
        console.log(arr.sort(arrsort));  //数字排序需要函数,如果要从大排到小,就return b-a;
        console.log(arr2.sort());  //字母不需要
}
但是我突然想到,sort用法为什么这么简单,其原理到底是什么呢"codetitle">复制代码 代码如下: window.onload=function(){
        var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98];
        var len=arr.length;
        console.log(arr.join(","));
        var newarr=[];
        for(var i=0;i<len;i++){
            newarr.push(Math.min.apply(null,arr));  //把最小值插入新数组
            arr.splice(r(arr,Math.min.apply(null,arr)),1);  //插入后,立马删除最小值
        }
        //找到最小值在数组中的位置
        function r(s,v){
            for(k in s){
                if(s[k] == v){
                    return k;
                    }
                }
            }
        console.log(newarr.join(","))
}
PS:这只是我写的一个方法,sort的原理应该不是这样的,还可以用冒泡法对数组排序,代码我就不写了,网上一大堆.当然上面的代码只是对数字数组进行了排序,对于字符串的排序,可以考虑字符串的localeCompare方法.

希望本文所述对大家的javascript程序设计有所帮助。

标签:
js,数组,排序,sort方法

金狮镖局 Design By www.egabc.com
金狮镖局 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金狮镖局 Design By www.egabc.com

评论“js中数组排序sort方法的原理分析”

暂无js中数组排序sort方法的原理分析的评论...