如何将两个数组合并,且后一个有相同id的不合并

【js】:如何将两个数组合并,且后一个有相同id的不合并
 obj = [
        {
          id: 1,
          name: "你好",
        },
        {
          id: "",
          name: "张三",
        },
        {
          id: 2,
          name: "李四",
        },
      ];
      arr = [
        {
          id: 2,
          name: "张三",
        },
        {
          id: 3,
          name: "王五",
        },
        {
          id: 4,
          name: "大哥",
        },
      ];

 //结果
      add = [
        {
          id: 1,
          name: "你好",
        },
        {
          id: "",
          name: "张三",
        },
        {
          id: 2,
          name: "李四",
        },
        {
          id: 3,
          name: "王五",
        },
        {
          id: 4,
          name: "大哥",
        },
      ];

用 forEach 遍历

var obj = [
    {
        "id": 1,
        "name": "你好"
    },
    {
        "id": "",
        "name": "张三"
    },
    {
        "id": 2,
        "name": "李四"
    }
];

var arr = [
    {
        "id": 2,
        "name": "张三"
    },
    {
        "id": 3,
        "name": "王五"
    },
    {
        "id": 4,
        "name": "大哥"
    }
];

var temp = [];

arr.forEach(function(a) { 
    var t=a; 
    obj.forEach(function(o) { 
        if (a.id == o.id) { 
            t = undefined; 
            return;
        }
    });
    if (t) temp.push(t);
});

temp.forEach(function(t){
    obj.push(t);
});

img


如有帮助,欢迎采纳哈!

在这里插入图片描述

本人的开源项目,欢迎star支持下!!!