zoukankan      html  css  js  c++  java
  • 提取对象数组的公共元素

    例如:var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
    要求输出 [{a:1},{a:2}]

    //方法一

        var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
        var result1 = [];
        var obj = {};
        for (var i = 0; i < arr.length; i++) {
          if (!obj[arr[i].a]) {
            obj[arr[i].a] = true;
          } else {
            result1.push(arr[i]);
          }
        }
        console.log("result ---- 1", result1);
    
    //方法二
    
        var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
        const res = new Map();
        let result2 = [];
        arr.filter(item => {
          res.has(item.a) ? result2.push(item) : res.set(item.a, 1);
        });
        console.log("result ---- 2", result2);
    
    //方法三
    
        var arr = [{ a: 1 }, { a: 2 }, { a: 2 }, { a: 1 }, { a: 3 }];
        const map = new Map();
        let result3 = new Set();
        arr.filter(item => {
          map.has(item.a) ? result3.add(item) : map.set(item.a, 1);
        });
        console.log("result ---- 3", [...result3]);
    
  • 相关阅读:
    python 模块包裹
    函数指针
    python界面
    python FileError
    python pickle
    python file
    python set
    python 字典的函数
    字典问题
    java学习笔记4
  • 原文地址:https://www.cnblogs.com/qianyy/p/12081606.html
Copyright © 2011-2022 走看看