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

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

你可能感兴趣的:(js数组去重的4种简便方法)