Set方法
利用Set元素不能重复的原理
var arr = [1, 1, 2, 3, 4, 4, 5, 3, 5, 6, 6, 7, 7, 8, 8, 9, 9]
var arrNew = [...new Set(arr)]
console.log(arrNew);
includes方法
判断新数组里面如果没有该值就添加进新数组,有就不添加
var arr = [1, 1, 2, 3, 4, 4, 5, 3, 5, 6, 6, 7, 7, 8, 8, 9, 9]
var arrNew = []
arr.forEach(function (item) {
if (!arr2.includes(item)) {
arr2.push(item)
}
})
console.log(arrNew);
利用对象去重
利用对象的无序性
var arr = [1, 1, 2, 3, 4, 4, 5, 3, 5, 6, 6, 7, 7, 8, 8, 9, 9]
var arrNew = []
var obj = {}
arr.forEach(function (item, value) {
obj[arr[value]] = 1
})
for (x in obj) {
arr2.push(x)
}
console.log(arrNew);
双重for循环
思路:
1、创建一个新数组
2、遍历旧数组
3、将旧数组中的元素push到新数组中
4、如果新数组中有相同的元素就不push
5、遍历新数组
var arr = [1, 1, 2, 3, 4, 4, 5, 3, 5, 6, 6, 7, 7, 8, 8, 9, 9]
var arrNew = []
for(var i=0;i<arr.length;i++){
flag=true
for(var j=0;j<arr2.length;j++){
if(arr[i]==arr2[j]){
flag=false
}
}
if(flag){
arr2.push(arr[i])
}
}
console.log(arrNew);