数组去重、new Set去重、for循环去重、indexOf去重、filter去重
第一种:new Set去重,new Set是ES6新推出的一种方法。
var arr=[1,1,2,2,3,3] let arr1=Array.from(new Set(arr)) console.log(arr1) //[1,2,3]
第二种:双重for循环去重,可以说是最古老的去重方法了,还没有Set,没有map,filter的时候,双重for循环几乎是去重的唯一方式。
var arr=[1,1,2,2,3,3] for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ arr.splice(j,1) j--; } } } console.log(arr) //[1,2,3]
第三种:indexOf去重。
var arr=[1,1,2,2,3,3] var arr2=[] for(var i=0;i<arr.length;i++){ if(arr2.indexOf(arr[i])==-1){ arr2.push(arr[i]); } } console.log(arr2) //[1,2,3]
第四种:sort去重
var arr=[1,1,2,2,3,3] var arr6=arr.sort((a,b)=>{return a-b;}) console.log(arr6) //[1,2,3]
第五种:使用filter配合indexOf进行的去重。
var arr=[1,1,2,2,3,3]
const handleRemoveRepeat = (arr) =>arr.filter((item,index) => arr.indexOf(item,0) === index);
var arr1=handleRemoveRepeat(arr)
console.log(arr1) //[1,2,3]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通