JavaScript数组去重的六种实现方案解析
作者:木棉时间:2026-10-24 17:30:27浏览:372
本文详细解析JavaScript中数组去重的六种常见实现方式,包括利用Set数据结构、双重循环、indexOf、includes、filter以及Map对象。通过具体代码示例对比各方法的逻辑差异与适用场景,帮助开发者根据实际需求选择最优方案。
一、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;
}
四、利用includes去重
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;
}
总结
本文到此结束,希望这些内容能为您提供帮助,同时也欢迎您关注本站以获取更多技术资讯!
作者最新文章
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
为什么JS中typeof []返回object:数组类型检测误区解析
2026-11-04 19:50:47
