美文网首页
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