JavaScript/Vue数组合并之后去重(reduce)

需求:有A和B两个数组,数组中包含对象,对象中有公共的key,需要先把A和B数组合并,然后把key值相同的去重。
数组如下:

      let arrA = [
        {
          name: "张三",
          age: "18",
          id: "1",
          sex: "男",
        },
        {
          name: "张三11",
          age: "19",
          id: "2",
          sex: "男",
        },
        {
          name: "张三22",
          age: "20",
          id: "3",
          sex: "男",
        },
      ];
      let arrB = [
        {
          name: "李四》》》》",
          age: "19",
          id: "2",
          sex: "女",
        },
        {
          name: "666",
          age: "19",
          id: "4",
          sex: "男",
        },
        {
          name: "777",
          age: "19",
          id: "5",
          sex: "男",
        },
      ];

合并去重

      const mergeData = arrA.concat(arrB);
      const result = mergeData.reduce((cur, next) => {
        const repeat = cur.some((item) => {
          return item.id === next.id;
        });
        if (!repeat) {
          return cur.concat([next]);
        } else {
          return cur;
        }
      }, []);
      console.log(result, "合并去重之后返回新数组");

Tips:
觉得有用可以点个关注讷,有问题可以私信我


版权声明:本文为weixin_43811753原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。