方式1:借用空数组
let arr = [1,3,4,5,5,3,10,82,10,1,5,34,3];
let newArr = [];//去重后的数组
for (let i = 0; i < arr.length;i++){
if (newArr.indexOf(arr[i]) === -1){
newArr.push(arr[i]);
}
}
console.log(newArr);// [1, 3, 4, 5, 10, 82, 34]
方式2:借用对象
let arr = [1,2,100,3,4,5,5,1,2,3,10,82,10,1];
let obj = {};
let newArr = [];//去重后的数组
for (let i = 0;i < arr.length;i++){
if (!obj[arr[i]]){
obj[arr[i]] = true;
newArr.push(arr[i]);
}
}
console.log(newArr);// [1, 2, 100, 3, 4, 5, 10, 82]
方式3:filter方法
let arr = [1,2,3,4,5,5,1,2,3,10,82,10,1,1,5,34,3];
let newArr = arr.filter(function (value,index,array) {
return arr.indexOf(value) === index;//返回满足条件的项
});
console.log(newArr);
简写
let arr = [1,2,3,4,3,2,4,5,6,3,2,1,3,4];
let res = arr.filter((value,index.self)=> self.indexOf(value) === index);
console.log(res)
方式4:Set
let arr = [10,1,150,222,4,12,10,1,222,222];
let newArr = [...new Set(arr)];
console.log(newArr);//[10, 1, 150, 222, 4, 12]
let arr = [10,1,150,222,4,12,10,1,222,222];
let newArr = Array.from(new Set(arr));
console.log(newArr);//[10, 1, 150, 222, 4, 12]