js原生、ES6数组去重

方法一:给数组原型添加unique方法,那么数组就可以在任何地方像用push的方法一样,直接使用。

// 绑定unique去重方法到Array原型上
Array.prototype.unique = function(){
    let temp = {}, newArr = [];
    for(let item of this){
        if(!temp[item]){
            temp[item] = 'abc';
            newArr.push(item);
        }
    }
    return newArr;
}

// 使用数组去重
let arr = [2,5,3,2,1,3,2,4,5,3,2,3,5,4];
console.log(arr.unique());  //结果:[2,5,3,1,4]

方法二:使用ES6是Set数据结构没有重复元素的特性

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

 

你可能感兴趣的:(js)