#javascript
#javascript
Вопрос:
Я сравниваю два объекта javascript. Как я могу перечислить все различия, используя оптимизированный код?
Я также попробовал несколько плагинов deep-diff amp; Lodash.Lodash возвращает мне разницу в той же строке, но не в каком-либо другом добавленном поле.
const a = {
"id":1,
"name":xyz
}
const b = {
"id":1,
"name":xyz abc,
"address":pqr
}
Я ожидаю, что результат: {"name":xyz abc","address":pqr}
Ответ №1:
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)
Ответ №2:
Вот пример того, что вы хотите, используя функции Lodash.
Комментарии:
1. Привет… Я пробовал это раньше, но он не возвращал вновь добавленные массивы или любое другое добавленное поле… Он возвращал разницу только в той же строке.