以下是一个实现示例:

function diffObjects(oldArr, newArr) {
  let added = []; // 新增的对象数组
  let deleted = []; // 删除的对象数组
  
  // 比较旧数组和新数组,找出新增和删除的对象
  for (let i = 0; i < newArr.length; i++) {
    let found = false;
    for (let j = 0; j < oldArr.length; j++) {
      if (newArr[i].id === oldArr[j].id) {
        found = true;
        break;
      }
    }
    if (!found) {
      added.push(newArr[i]);
    }
  }
  
  for (let i = 0; i < oldArr.length; i++) {
    let found = false;
    for (let j = 0; j < newArr.length; j++) {
      if (oldArr[i].id === newArr[j].id) {
        found = true;
        break;
      }
    }
    if (!found) {
      deleted.push(oldArr[i]);
    }
  }
  
  return [added, deleted];
}

这个函数接收两个数组参数 oldArrnewArr,分别代表旧对象数组和新对象数组。它会比较这两个数组,找出新增和删除的对象,并将它们分别存储在 addeddeleted 数组中。最后,它返回一个数组 [added, deleted],包含新增和删除的对象数组

js写一个函数参数是旧对象数组和新对象数组 返回值是新增的和删除的对象组成的数组

原文地址: https://www.cveoy.top/t/topic/fdJ0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录