码迷,mamicode.com
首页 > 编程语言 > 详细

数组去重和排序

时间:2018-12-12 00:38:36      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:lock   OLE   color   func   正则   join   code   define   clock   

一、常见的数组排序方法:


//冒泡
function bubbleSort(arr){
    var r=1,i=0;
    for(r=1;r<arr.length;r++){
        for(i=0;i<arr.length-1;i++){
            arr[i]>arr[i+1]&&(arr[i+1]=[arr[i],arr[i]=arr[i+1]][0])
        }
    }
}

//插入

    var arr=[2,4,1,3,5];
    function insertSort(arr){
        for(var i=1;i<arr.length;i++){
            var temp=arr[i];
            var p=i-1;
            while(temp<arr[p]&&p>=0){
                arr[p+1]=arr[p];
                p--;
            }
            arr[p+1]=temp;
        }
    }
    insertSort(arr);
    console.log(arr);

二、数组去重方法

var arr=["air","b","clock","army","clock","air"];
    //1.遍历
    function unique1(arr){
        for(var i=0,unique=[];i<arr.length;i++){
            var r=unique.indexOf(arr[i]);
            if(r==-1){
                unique.push(arr[i]);
            }
        }
        return unique;
    }
    console.log(String(unique1(arr)))
    //2.hash
    function unique2(arr){
        for(var i=0,unique={};i<arr.length;i++){
            unique[arr[i]]===undefined&&(unique[arr[i]]=1);
            
        }
        arr=[];
        for(var key in unique){
            arr.push(key);
        }
        return arr;
    }
    console.log(String(unique2(arr)))
    //3.正则
    function unique3(arr){
        var reg=/(^|,,)([^,]+)(..\2)*/g;
        return arr.sort().join(",,").replace(reg,"$1$2").split(",,");
    }
    console.log(unique3(arr));

 

数组去重和排序

标签:lock   OLE   color   func   正则   join   code   define   clock   

原文地址:https://www.cnblogs.com/qinmanyu/p/10105243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!