一、第一种(两个for循环)
var arr = [1, 5, 2, 2, 1, 5]
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
console.log(arr[i], arr[j], j)
if (arr[i] == arr[j]) {
arr.splice(j, 1)
j--
}
}
}
二、第二种(两个for循环遍历)
var arr = [1, 5, 2, 2, 1, 5]
for (var i = arr.length - 1; i >= 0; i--) {
for (var j = i - 1; j >= 0; j--) {
if (arr[i] == arr[j]) {
arr.splice(j, 1)
}
}
}
三、第三种(indexOf和lastIndexOf)
var arr = [1, 5, 2, 2, 1, 5]
for (var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) != arr.lastIndexOf(arr[i])) {
arr.splice(i, 1)
i--
}
}
四、第四种(indexOf)
var arr = [1, 5, 2, 2, 1, 5]
let newArr = []
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i])
}
}
五、Es6去重
var arr = [1, 5, 2, 2, 1, 5]
let newArr = new Set(arr)