JS的数组去重与排序

来源:互联网 发布:淘宝买家分析软件 编辑:程序博客网 时间:2024/04/28 04:25

去重:
使用indexOf方法

//假定已有一个数组ar里面包含了数;//out为去重后的数组function find(ar[]){    for(var i = 0 ; i<ar.length ; i++){        if(out.indexOf(ar[i]) == -1){        out.push(ar[i]);        }    }    return out;}

hash表的方式(快于indexOf方法但是使用内存更多)

//与上面拥有相同的假定ar与out数组,hash为hash表function find(ar[]){    for(var i = 0 ; i <ar.length ; i++){    if(!hash(ar[i])){        hash(ar[i]) = true;        out.push(ar[i]);        }    }    return out;}

排序使用原生js:V8引擎下的chrome,sort内部使用快排算法

//假定已经有一个数组arar.sort(function(value1 , value2){    return (value1-value2);//升序排列    /*return (value2-value1)//降序排列*/})

快排不是稳定排序,实现稳定的sort排序

ar.sort(function)
原创粉丝点击