数组去重
方法一:
var newArr = []
var arr = [1,2,3,1,2,1]
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]===arr[j]){
i++
j=i
}
}
newArr.push(arr[i])
}
console.log(newArr)
方法二:
var arr = [1,2,3,1,2,4,3,2]
var newArr = []
for(var i=0;i<arr.length;i++){
var flag = true
for(var j=0;j<newArr.length;j++){
if(arr[i] === newArr[j]){
flag = false
break
}
}
if(flag){
newArr.push(arr[i])
}
}
console.log(newArr)
比较方法二比较方法一多了一个开关的控制,相对于方法一方法二逻辑性更强
方法三:
var arr = [1,2,3,4,2,3,1]
arr.sort()
var newArr = [arr[0]]
for(var i=0;i<arr.length;i++){
if(arr[i] !== newArr[newArr.length-1]){
newArr.push(arr[i])
}
}
console.log(newArr)
方法三线将数组排序再去重
注:这里方法三只适合一位数进行比较排序
方法四:
var arr = [2, 8, 5, 0, 5, 2, 6, 7, 2]
var newArr = []
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i])
}
}
console.log(newArr)
方法五:
var arr = [2, 8, 5, 0, 5, 2, 6, 7, 2]
var newArr = []
for (var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) === i) {
newArr.push(arr[i])
}
}
console.log(newArr)