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]