js写一个函数参数是旧对象数组和新对象数组 返回值是新增的和删除的对象组成的数组
以下是一个实现示例:
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];
}
这个函数接收两个数组参数 oldArr 和 newArr,分别代表旧对象数组和新对象数组。它会比较这两个数组,找出新增和删除的对象,并将它们分别存储在 added 和 deleted 数组中。最后,它返回一个数组 [added, deleted],包含新增和删除的对象数组
原文地址: https://www.cveoy.top/t/topic/fdJ0 著作权归作者所有。请勿转载和采集!