美文网首页
js数组去重的4种简便方法

js数组去重的4种简便方法

作者: 尘世中的小书童 | 来源:发表于2017-08-14 22:42 被阅读0次

    1.利用set集合对象的值是唯一的特新

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

    var arr = [1,4,5,3,2,1,4,2,2];
    
    var newArr = [...new Set(arr)];
    

    2.正则数组去重 (方法不错)

     Array.prototype.unique3=function(){
               return this.sort().join('').replace(/(.).*\1/g,"$1").split('');
             
            }
    

    3. 遍历查找,通过新的数组保存非重复的值

    function removeRepeat1(data) {
        var result = [];
    
        data.forEach(function(value) {
            if ( !result.includes(value) ) {
                result.push(value);
            }
        });
    
        return result;
    }
    
    

    4. 利用对象key不重复的特性,把值做对象key进行存储

    function removeRepeat2(data) {
        var obj = {};
        var result = [];
    
        data.forEach(function(value) {
            obj[value] = 1; //对象的值并不重要,所以给任何的值都行
        });
    
        //最后obj的key就是我们要的不重复的数据
        for (var key in obj) {
            result.push(Number(key));
        }
    
        return result;
    
    }
    
    

    5. 遍历比较,删除重复的值

    function removeRepeat3(data) {
    
        for (var i=0; i<data.length; i++) {
    
            for (var j=i+1; j<data.length; j++) {
                if (data[i] == data[j]) {
                    data.splice(j, 1);
                    j--;
                }
            }
    
        }
    
        return data;
    }
    

    相关文章

      网友评论

          本文标题:js数组去重的4种简便方法

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