方法1:es6去重
var arr = [1, 2, 3, 4, 4, 3, 2, 1]
//方式1:es6去重
var arr1 = [...new Set(arr)]
console.log(arr1) // [1, 2, 3, 4]
方式2:indexOf去重
//方式2:indexOf去重
var temp = [];//新的数组
for (const iterator of arr) {
if(temp.indexOf(iterator) === -1){
temp.push(iterator)
}
}
console.log(temp) //[1, 2, 3, 4]
方式3:优化遍历数组法
//方式3:优化遍历数组法
var arr3 = [];
var index = [];
for(let i = 0;i<arr.length;i++){
for(let j = i+1;j<arr.length;j++){
if(arr[i] === arr[j]){
i++;
j=i;
}
}
arr3.push(arr[i]);
index.push(i)
}
console.log(arr3);//[4, 3, 2, 1]
console.log(index);//[4, 5, 6, 7]
方式4:数组下标法
//方式4:数组下标法
var arr4 = [1, 2, "2", 3, 9, "b", "b", 2, 3, 5, 6, 5];
var temp4 = [];
for (var i = 0; i < arr4.length; i++) {
//如果当前数组的第i项在当前数组中第一次出现的位置是i,才存入数组;否则代表是重复的
if (arr4.indexOf(arr4[i]) == i) {
temp4.push(arr4[i])
}
}
console.log(temp4)//[1, 2, "2", 3, 9, "b", 5, 6]