面试过程中一般都会问到的数组去重,所以在此做个总结:
废话不多说,直接上代码:
//方法1
function unique1(arr){
let res = [];
for(let i=0; i<arr.length; i++){
if(arr.indexOf(arr[i]) == i){
res.push(arr[i]);
}
}
return res;
}
let testArr = [2,5,4,3,5,4,3];
console.log(unique1(testArr )); //[2, 5, 4, 3]
//方法2 利用es6的Set中的元素是唯一的
let testArr = [2,5,4,3,5,4,3];
let res = [... new Set(testArr)];
console.log(res); //[2, 5, 4, 3]
//方法3 利用includes
function unique2(arr){
let res = [];
arr.forEach(item=>{
if(!res.includes(item)){
res.push(item);
}
})
return res;
}
let testArr = [2,5,4,3,5,4,3];
console.log(unique1(testArr )); //[2, 5, 4, 3]
数组去重有很多种方法,后续会继续完善!!!,如果喜欢这篇文章就给个小小心吧
网友评论