js写一个函数参数是旧对象数组和新对象数组 返回值是新增的和删除的对象组成的数组使用filter实现
以下是使用filter实现的函数代码:
function diffObjects(oldArr, newArr) {
  const addedObjs = newArr.filter(newObj => !oldArr.includes(newObj));
  const removedObjs = oldArr.filter(oldObj => !newArr.includes(oldObj));
  return [...addedObjs, ...removedObjs];
}
这个函数接收两个数组参数,其中一个是旧对象数组,另一个是新对象数组。函数使用filter方法,分别筛选出新增的对象和删除的对象,然后将它们合并成一个数组并返回。其中,筛选新增的对象的方法是遍历新对象数组,使用includes方法判断旧对象数组中是否包含该对象,如果不包含则说明是新增的对象。筛选删除的对象的方法是遍历旧对象数组,使用includes方法判断新对象数组中是否包含该对象,如果不包含则说明是删除的对象。最后,使用展开运算符将新增的对象和删除的对象合并成一个数组。
原文地址: https://www.cveoy.top/t/topic/fdJ6 著作权归作者所有。请勿转载和采集!