zoukankan      html  css  js  c++  java
  • 使用reduce的方法实现对象数组去重

    在开发中和面试当中,数组去重问题往往是受宠儿,那用最短的代码解决这个问题会使效率得到更大的提升。普通的数组,我们可以通过filter过滤方法进行去重,详情见本人博客:http://www.cnblogs.com/mmykdbc/p/8422419.html

    那当是一个对象数组的时候呢,filter就显得相形见绌了,再用那种笨的一个一个遍历的方法会使得工作效率大打折扣,这个时候,需要用到reduce叠加方法,上代码:

      let arr = [{"all": 1}, {"all": 2}, {"all": 3}, {"all": 4}, {"all": 1}];
      let hash = {};
      arr = arr.reduce((item, next) => {
        hash[next.all] ? "" : hash[next.all] = true && item.push(next);
        return item
      }, []);
      console.log(arr);
    

      结果:

  • 相关阅读:
    2.5 整数和算法
    斑马问题
    计算机硬件操作
    幸福是什么
    英译汉技巧
    指令
    计算机性能
    硬盘容量的计算方法
    Symmetric Tree
    Same Tree
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/8465376.html
Copyright © 2011-2022 走看看