1. 程式人生 > >演算法之去重

演算法之去重

1 先排序後去重

<script type="text/javascript">
    arry=[0,3,2,4,2,6,8,3,2,1];
    list= method4 ();
    function method4 (){
      //將陣列進行排序
      arry.sort();
      //定義結果陣列
      var arr=[arry[0]];

      for(var i = 1; i < arry.length; i++){    //從陣列第二項開始迴圈遍歷陣列
         //判斷相鄰兩個元素是否相等,如果相等說明資料重複,否則將元素寫入結果陣列
         if(arry[i] !== arry[i+1]){
            arr.push(arry[i]);
         }
      }
      return arr;
   }
   console.log("+++++++++",list)
</script>

2 利用hash

var hash=function () {
       var temp=[];
       for(var i=0;i<arry.length;i++){
           if(!hash[arry[i]]){
               temp.push(arry[i]);
               hash[arry[i]]=true;
           }
       }
       console.log("+++++++++",temp);
       return temp;
   }
   hash();

3  es6新加的資料結構

uniq();
function uniq() {
 var result=new Array();
 // 是es6新的資料型別  裡面的值是惟一的
 result=new Set(arry);
 console.log("++++++++result",result)
}