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]