一行代碼實現數組去重(老生常談)


[...new Set([1,2,3,1,'a',1,'a'])]

[1, 2, 3, "a"]

這是ES6中新增了Set數據結構,類似於數組,但是 它的成員都是唯一的 ,其構造函數可以接受一個數組作為參數

 

再回顧一下一般常規的數組去重:

    var arr = [1,35,1,45,2,4,65,3,3,4,5,6,6,6];
    function unique1(arr){
      var temp = [];
      var hash = {};
      for(var i=0,len=arr.length; i<len; i++){
        if(!hash[arr[i]]){
          temp.push(arr[i]);
          hash[arr[i]] = true;
        }
      }
      return temp;
    }

 

使用filter函數;

function unique2(arr){
      return arr.filter((val, index, self)=>{
        return self.indexOf(val) == index;
      });
    }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM