我正在比较两个javascript对象。如何使用优化的代码列出所有差异?
我也尝试了一些插件deep-diff和lodash。Lodash 向我返回了同一行的差异,但没有返回任何其他添加的字段。
const a = {
"id":1,
"name":xyz
}
const b = {
"id":1,
"name":xyz abc,
"address":pqr
}
我希望输出:{"name":xyz abc","address":pqr}
Object.keys(a).forEach(x => { if (Object.keys(b).every(y => b[y] !== a[x])) { diff[x] = a[x] } })
Object.keys(b).forEach(x => { if (Object.keys(a).every(y => a[y] !== b[x])) { diff[x] = b[x] } })
console.log(diff)
下面是您想要使用 lodash 函数的示例。
https://gist.github.com/Yimiprod/7ee176597fef230d1451