js数组去重的两种方法
发布于 4 年前 作者 tanyang 3952 次浏览 来自 分享
var arr = [1,1,2,2,3,4];

// 1.使用循环判断
var arr2 = [];

for(var i = 0; i < arr.length; i++){
    // 判断arr2中是否已经存在当前数字 (arr[i])
    if(arr2.indexOf(arr[i]) === -1){
    	arr2.push(arr[i]);
    }
}

console.log(arr2); // 输出 [1,2,3,4];

// 2.使用Set对象去除数组的重复成员
var arr3 = [...new Set(arr)];

上面第二种方法说明:

1.Set是ES6标准的一种新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值;

2.Set函数可以接受一个数组,它会帮我们去除数组的重复成员,最终返回一个Set类型的类数组实例;

new Set(arr) // 输出 Set(4) {1, 2, 3, 4}

Set类型实例和数组一样也可以使用三个点(…)来展开,所以把Set展开到一个新数组里实现去重

[...new Set(arr)] // 输出 [1, 2, 3, 4]
回到顶部