1、获取两数组的id集合
oldList.forEach(item => {
oIds.push(item.sourceOrderId)
})
res.forEach(item => {
nIds.push(item.sourceOrderId)
})
2、对比两个id数组,找不同
for (let i = 0; i < oIds.length; i++) {
const item = oIds[i];
if (!nIds.includes(item)) {
removeId.push(item);
}
}
for (let i = 0; i < nIds.length; i++) {
const item = nIds[i];
if (!oIds.includes(item)) {
addId.push(item);
}
}
3、先移除再新增
removeId.forEach(removeIdItem => {
orderList = oldList.filter(item => {
return !item.sourceOrderId.includes(removeIdItem)
})
})
addId.forEach(addIdItem => {
addList = res.filter(item => {
return item.sourceOrderId.includes(addIdItem)
})
})
orderList = orderList.concat(addList)
4、封装成函数