如何深入比较两个javascript对象并返回所有差异,包括新添加的数组和相同的原始格式?

如何深入比较两个javascript对象并返回所有差异,包括新添加的数组和相同的原始格式?,javascript,Javascript,我正在比较两个javascript对象。如何使用优化的代码列出所有差异 我也尝试了几个插件deepdiff&lodash。lodash返回的是同一行的差异,但不是任何其他添加的字段 const a = { "id":1, "name":xyz } const b = { "id":1, "name":xyz abc, "address":pqr } 我希望输出:{“name”:xyz abc”,“address”:pqr}下面是一个使用lodash函数的示例 嘿……我之前试过,但它没有返回新

我正在比较两个javascript对象。如何使用优化的代码列出所有差异

我也尝试了几个插件deepdiff&lodash。lodash返回的是同一行的差异,但不是任何其他添加的字段

const a = {
"id":1,
"name":xyz
}

const b = {
"id":1,
"name":xyz abc,
"address":pqr
}

我希望输出:
{“name”:xyz abc”,“address”:pqr}

下面是一个使用lodash函数的示例


嘿……我之前试过,但它没有返回新添加的数组或任何其他添加的字段……它只返回同一行上的差异。
    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)