比较对象数组并在它们不同的情况下创建新的对象数组。
创始人
2024-12-13 13:30:09
0

假设我们有两个对象数组oldArr和newArr。我们可以编写以下函数来比较它们并返回新的不同对象数组。

function compareArrayObjects(oldArr, newArr) {
  let resultArr = [];
  newArr.forEach(function(newObj) {
    let matchedObj = oldArr.find(function(oldObj) {
      return oldObj.id === newObj.id;
    });

    if (!matchedObj) {
      resultArr.push(newObj);
    } else {
      // Compare properties of two objects
      let isDifferent = Object.keys(newObj).some(function(key) {
        return newObj[key] !== matchedObj[key];
      });

      if (isDifferent) {
        resultArr.push(newObj);
      }
    }
  });

  return resultArr;
}

以上函数会遍历newArr并查找与oldArr的匹配项,然后比较两个对象的属性值。如果newArr中的对象是新的或不同于旧对象,则将其添加到结果数组中。

示例用法:

let oldArr = [
  { id: 1, name: "Alice", age: 25 },
  { id: 2, name: "Bob", age: 30 }
];

let newArr = [
  { id: 1, name: "Alice", age: 25 },
  { id: 2, name: "Bob", age: 30 },
  { id: 3, name: "Charlie", age: 35 },
  { id: 4, name: "David", age: 40 }
];

let resultArr = compareArrayObjects(oldArr, newArr);

console.log(resultArr);
// Output: [{ id: 3, name: "Charlie", age: 35}, { id: 4, name: "David", age: 40}]

以上代码将输出newArr中与oldArr不同或新增的对象。

相关内容

热门资讯

5分钟规律!胖猪竞技吗,wep... 5分钟规律!胖猪竞技吗,wepoke app(详细透视辅助黑科技教程)1、玩家可以在胖猪竞技吗软件透...
五分钟规律!桂林字牌app有挂... 五分钟规律!桂林字牌app有挂的吗,德扑人工智能(详细透视辅助器教程);科技详细教程小薇《75744...
9分钟教学!财神十三张辅助器,... 9分钟教学!财神十三张辅助器,微扑克微乐辅助(详细透视辅助器教程);wpk透视辅助官方版是专为公司和...
9分钟详情!wepoke辅助挂... 1、9分钟详情!wepoke辅助挂,红龙扑克是真是假(详细透视辅助黑科技教程)2、进入游戏-大厅左侧...
6分钟介绍!卡卡麻将有挂吗,w... 6分钟介绍!卡卡麻将有挂吗,wpk 辅助工具(详细透视辅助器教程)1、完成卡卡麻将有挂吗的残局,帮助...
四分钟详情!中至游戏作弊辅助,... 四分钟详情!中至游戏作弊辅助,wopoker用ai有用(详细透视辅助软件教程)关于中至游戏作弊辅助的...
九分钟方法!胡乐麻将软件的输赢... 《九分钟方法!胡乐麻将软件的输赢规律,wpk用有辅助器(详细透视辅助器教程)》 胡乐麻将软件的输赢规...
1分钟介绍!青龙大厅app的辅... 1分钟介绍!青龙大厅app的辅助器,wpk德州专用辅助器(详细透视辅助器教程)科技教程也叫必备教程,...
7分钟教程!多乐麻将捕鱼技巧,... 7分钟教程!多乐麻将捕鱼技巧,wpk微扑克辅助存在(详细透视辅助挂教程)是一款可以让一直输的玩家,快...
十分钟技巧!星悦广西跑胡子辅助... 十分钟技巧!星悦广西跑胡子辅助工具,wepoke是有软件(详细透视辅助挂教程)1、这是跨平台的星悦广...