比较两个数组的差异,返回 新数组相较于旧数组新增的项 和 删除的项
compareArrayDiff(newArr, oldArr) {
const tNewArr = newArr ?? [];
const tOldArr = oldArr ?? [];
const totalArr = [...new Set(tNewArr.concat(tOldArr))];
// 新数组 与 全数组比较差异,得到新数组 删掉的项(新数组中不存在,而总数组存在,则是新数组删掉的)
const delArr = [];
totalArr.forEach((item) => {
if (!tNewArr.includes(item)) delArr.push(item);
});
// 旧数组 与 全数组比较差异,得到新数组 增加的项(旧数组中不存在,而总数组存在,则是新数组增加的)
const addArr = [];
totalArr.forEach((item) => {
if (!tOldArr.includes(item)) addArr.push(item);
});
console.log({ delArr, addArr });
return {
delArr,
addArr,
};
},