js二维数组去重
var duplicate =function(arr){ // 法一:es6 // let res=new Map(); // arr.forEach(item=>{ // item.sort((a,b)=>a-b); // res.set(item.join(),item); // }); // return Array.from(res.values); // 法二: let res={} arr.forEach(item=>{ item.sort((a,b)=>a-b); res[item]=item; }); return Object.values(res) }
更新:2020-7-27
下面来测试对比一下哪种方法更快一些
我们将代码修改一下:
// 法一: const duplicate1 =function(arr){ let res=new Map(); arr.forEach(item=>{ item.sort((a,b)=>a-b); res.set(item.join(),item); }); return Array.from(res.values); } // 法二: const duplicate2 = function(){ let res={} arr.forEach(item=>{ item.sort((a,b)=>a-b); res[item]=item; }); return Object.values(res) } const arr=[ [1,2,3,4,5,6,7,8,9], [1,2,3,4,5,6,7,8,9], [2,3,4,5], [6,6,6,6] ] console.time('duplicate1') duplicate1(arr) console.timeEnd('duplicate1') console.time('duplicate2') duplicate2(arr) console.timeEnd('duplicate2')
node端执行结果
浏览器端执行结果
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步