下面总结两种常用,且容易理解的JS去重方式
- indexOf法
function unique(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
return newArr;
}
var arr = [1,2,2,3,4,4,5,1,3];
var newArr = unique(arr);
console.log(newArr);
- 优化遍历法
function unique(arr){
var newArr = [];
for(var i = 0; i < arr.length; i++){
for(var j = i+1; j < arr.length; j++){
if(arr[i] == arr[j]){
++i;//检查到相同的元素,跳出本层循环,进行下个元素的遍历
}
}
newArr.push(arr[i]);
}
return newArr;
}
var arr = [1,2,2,3,5,3,6,5];
var newArr = unique(arr);
console.log(newArr);
- ES6 new Set()方法
var arr = [1,2,2,3,5,3,6,5];
var newData = [...new Set(arr)]
网友评论