总结一下js中数组去重的方法:
1.遍历数组法(indexOf)
实现思路:初始化一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中;
var arr=[1,4,6,9,2,4,3,9,0,0];
function unique1(arr){
var newarr=[];
for (var i = 0; i < arr.length; i++) {
if(newarr.indexOf(arr[i])==-1){
newarr.push(arr[i]);
}
}
return newarr;
}
console.log(unique1(arr)); // [1, 4, 6, 9, 2, 3, 0]
2.数组下标判断法
实现思路:如果当前数组的第 i 项在当前数组中第一次出现的位置不是 i,那么表示第 i 项是重复的,忽略掉。否则存入结果数组。
function unique2(arr){
var newarr=[];
for (var i = 0; i < arr.length; i++) {
if(arr.indexOf(arr[i])==i){
newarr.push(arr[i]);
}
}
return newarr;
}
console.log(unique2(arr)); // [1, 4, 6, 9, 2, 3, 0]