数组去重的5种方法:
双重for循环,设置一个变量为没有重复状态,如果有相同的值则跳过,不相同就push进数组。
遍历数组,建立新数组,利用indexOf判断是否存在于新数组中,不存在就push到新数组中。
用lastIndexOf和indexOf查找。
利用set成员唯一性进行去重。
利用对象成员属性不能重复进行数组去重。
双重for循环,设置一个变量为没有重复状态,如果有相同的值则跳过,不相同就push进数组。
var arr = [1,1,1,2,2,2,3,3,4,4,5,6]
var arr2 =[]
var flag = true //状态为没有重复的
for(var i=0; i<arr.length; i++){
flag = true
for(var j=0; j<arr2.length;j++){
if(arr2[j] == arr[i]){
flag = false
}
}
if(flag){
arr2.push(arr[i])
}
}
console.log(arr2);
遍历数组,建立新数组,利用indexOf判断是否存在于新数组中,不存在就push到新数组中。
var arr = [1,1,1,2,2,2,3,3,4,4,5,6]
var arr2 =[]
for(var i=0;i<arr.length;i++){
if(arr2.indexof(arr[i]) == -1){
arr2.push(arr[i])
}
}
console.log(arr2);
用lastIndexOf和indexOf查找。
var arr = [1,1,1,2,2,2,3,3,4,4,5,6]
var arr2 =[]
for(var i=0;i<arr.length;i++){
if(arr2.lastIndexOf(arr[i]) == -1){
arr2.push(arr[i])
}else{
if(arr2.lastIndexOf(arr[i]) == -1){
arr2.push(arr[i])
}
}
}
console.log(arr2);
利用set成员唯一性进行去重。
var arr = [1,1,1,2,2,2,3,3,4,4,5,6]
var arr2 = Array.from(new Set(arr))
console.log(arr2);
利用对象成员属性不能重复进行数组去重。
var arr = [1,1,1,2,2,2,3,3,4,4,5,6]
var arr2 =[]
var obj = {}
for(var i=0;i<arr.length;i++){
obj[arr[i]] = "1"
}
for(key in obj){
arr2.push(Number(key))
}
console.log(arr2);