zoukankan      html  css  js  c++  java
  • 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端执行结果

    浏览器端执行结果

  • 相关阅读:
    NHbiernate 配置
    NHibernate开发入门
    Thread 线程简单例子
    C#中委托和事件
    DataGridView 去掉多余的列
    ASP.NET C# 有程序集加不了解决办法
    oracle“记录被另一个用户锁住”
    Android 控件属性
    Android 入门
    MVC 视频笔记
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/9165198.html
Copyright © 2011-2022 走看看