Я сравниваю два объекта 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}
Вот пример того, что вы хотите использовать функции lodash.
https://gist.github.com/Yimiprod/7ee176597fef230d1451
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.info(diff)
Эй... Я пробовал это раньше, но он не возвращал вновь добавленные массивы или любое другое добавленное поле... Он возвращал разницу только в той же строке.