常见面试问题:数组的去重
1.第一种方式就是最简单的set去重
(ES6新增)
var arr = [1,2,2,4,3,4,1,3,2,7,5,6,1]
var newArr = new Set(arr)
2.双重for循环进行去重
for(var i = 0;i<arr.length;i++){
for(var j = i+1;i<arr.length;j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
j--;
}
}
}
3.用indexOf进行去重
判断新数组中是否有某一项存在
function fn(arr){
let newArr = []
arr.forEach((val)=>{
if(newArr.indexOf(val) == -1){
newArr.push(val)
}
})
return newArr
}
function fn(arr) {
return arr.filter((item, index, arr) => arr.indexOf(item) === index)
}
去重方法不只以上几种,但这几种比较常见,也都各有益弊。