原创在这里
https://gist.github.com/Yimiprod/7ee176597fef230d1451
export const deepDiffBetweenObjects = (object, base) => {
const changes = (object, base) => {
return transform(object, (result, value, key) => {
if (!isEqual(value, base[key])) {
if (isArray(value)) {
result[key] = difference(value, base[key])
} else if (isObject(value) && isObject(base[key])) {
result[key] = changes(value, base[key])
} else {
result[key] = value
}
}
})
}
return changes(object, base)
}