JavaScript数组去重的几种方法详谈
作者:Maple-Ning
这篇文章给大家总结下JavaScript数组去重的几种方法,面试中也经常会遇到这个问题。文中给大家引申的还有合并数组并去重的方法,感兴趣的朋友跟随脚本之家小编一起学习吧
一、Set去重
function funSet(arr){
return Array.from(new Set(arr));
}
二、双重for循环去重
function funFor(arr){
for(let i=0,len=arr.length;i<len;i++){
for(let j=i+1,len=arr.length;j<len;j++){
if(arr[i]===arr[j]){
arr.splice(j,1);
len--;
j--;
}
}
}
return arr;
}
三、利用indexOf去重
function funIndex(arr){
let newArr=[];
for(let i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])===-1){
newArr.push(arr[i])
}
}
return newArr;
}
四、利用icludes去重
function funInclude(arr){
let newArr=[];
for(let i=0;i<arr.length;i++){
if(!newArr.includes(arr[i])){
newArr.push(arr[i])
}
}
return newArr;
}
五、filter
function funFilter(arr){
return arr.filter(function(item,index){
return arr.indexOf(item,0)===index;
})
}
六、Map
function funMap(arr){
let map=new Map();
let newArr=[];
for(let i=0,len=arr.length;i<len;i++){
if(map.has(arr[i])){
map.set(arr[i],true);
}else{
map.set(arr[i],false);
newArr.push(arr[i]);
}
}
return newArr;
}
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
