美文网首页
js实现去重

js实现去重

作者: Victor_818 | 来源:发表于2019-05-21 23:43 被阅读0次

    方法一:

    var arr=[2,8,5,0,5,2,6,7,2];
    function unique1(arr){
      var hash=[];
      for (var i = 0; i < arr.length; i++) {
         if(hash.indexOf(arr[i])==-1){
          hash.push(arr[i]);
         }
      }
      return hash;
    }
    

    方法二:

    function unique2(arr){
      var hash=[];
      for (var i = 0; i < arr.length; i++) {
         if(arr.indexOf(arr[i])==i){
          hash.push(arr[i]);
         }
      }
      return hash;
    }
    // 可以用filter实现类似效果
    arr.filter((item,index,self)=>{
        return self.indexOf(item) === index
    })
    

    方法三:

    function unique3(arr){
      var hash=[];
      for (var i = 0; i < arr.length; i++) {
        for (var j = i+1; j < arr.length; j++) {
          if(arr[i]===arr[j]){
            ++i;
            j = i;
          }
        }
          hash.push(arr[i]);
      }
      return hash;
    }
    

    方法四:

    function uniq(arr){
      let obj = {};
      let data = [];
      arr.forEach(item => {
        if(!obj[item]){
          obj[item] = true;
          data.push(item);
        }
      });
      return data;
    }
    

    方法五:

    var unique4 = [ ...new Set(arr) ]
    

    相关文章

      网友评论

          本文标题:js实现去重

          本文链接:https://www.haomeiwen.com/subject/xyrezqtx.html