wang00ka 2019-09-25 11:05 采纳率: 75%
浏览 360
已采纳

javascript如何实现数组去重复?

数组格式如下,期望的结果是保留后面三笔,因为前面两笔重复了,希望去除重复,谢谢!!!

图片说明

  • 写回答

3条回答 默认 最新

  • 毕小宝 博客专家认证 2019-09-25 11:30
    关注

    可以定义一个 map,然后遍历一遍数组,如果根据 id 判断是否在 Map 中,完成一遍去重后,再将该 Map 转成数组。参考 demo:

    var result = {};
    for(var i=0;i<array.length;i++){
       var current = array[i];
         //不存在,则存储到 Map 中
         if(result[current.deviceId] == undefined){
             result[current.deviceId] = current;
         }
    }
    
    //在将 Map 转成数组
    var uniqueArray = [];
    var allKeys = Object.getOwnPropertyNames(result);
    for (var i = 0; i < allKeys.length; i++){
       uniqueArray.push(result[allKeys[i]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块