JavaScript数组去重的几种方法详谈
更新时间:2021年10月24日 17:09:08 作者: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; }
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
JavaScript 无缝上下左右滚动加定高定宽停顿效果(兼容ie/ff)
JavaScript 指定宽度高度的无间断滚动实现代码,这样的效果适合作为焦点新闻的轮播显示。2010-03-03在js中判断checkboxlist(.net控件客户端id)是否有选中
添加或修改内容时,需要对关键数据进行判空处理,checkboxlist是否有选择项如何使用js判断实现,接下来为大家详细介绍下实现方法,感兴趣的朋友可以参考下哈2013-04-04
最新评论