• js 数组合并


    1.简单类型数组

    ES6
    array1.push(...array2) // => don't remove duplication
    OR
    [...array1,...array2] // => don't remove duplication
    OR
    [...new Set([...array1 ,...array2])]; // => remove duplication

    2.对象数组

    (1)方法一

    var initialData = [{
        'ID': 1,
        'FirstName': 'Sally'
      },
      {
        'ID': 2,
        'FirstName': 'Jim'
      },
      {
        'ID': 3,
        'FirstName': 'Bob'
      }
    ];
    
    var newData = [{
        'ID': 2,
        'FirstName': 'Jim'
      },
      {
        'ID': 4,
        'FirstName': 'Tom'
      },
      {
        'ID': 5,
        'FirstName': 'George'
      }
    ];
    
    var ids = new Set(initialData.map(d => d.ID));
    var merged = [...initialData, ...newData.filter(d => !ids.has(d.ID))];
    
    console.log(merged);

    (2)方法二
    const oldData = [
      { id: 1, name: 'John' },
      { id: 2, name: 'Jane' },
      { id: 3, name: 'Mike' },
    ];
    
    const newData = [
      { id: 2, name: 'Jane' },
      { id: 4, name: 'Rick' },
      { id: 5, name: 'Jim' },
    ];
    
    const usersMap = new Map();
    
    oldData.forEach(user => usersMap.set(user.id, user));
    
    newData.forEach(user => {
      const exists = usersMap.has(user.id);
      
      if (!exists) {
        usersMap.set(user.id, user);
      }
    })
    
    usersMap.forEach(user => console.log(user))


  • 相关阅读:
    远程连接redis服务
    redis的安装以及启动
    Easyui学习之右键菜单easyui-menu
    富文本编辑器KindEditor的使用
    zookeeper启动失败解决方法
    在TortoiseSVN使用clean up
    kettle性能优化
    idea快捷键
    Spring Cloud服务网关 Zuul Filter使用
    添加路由
  • 原文地址:https://www.cnblogs.com/zany-hui/p/14384099.html
Copyright © 2020-2023  润新知