Как вернуть ключи и значения из двух объектов с разными значениями - PullRequest
0 голосов
/ 30 апреля 2020

Как бы я oop на двух объектах и ​​ только вернул список ключей и значений, которые отличались?

let list = [];

let previousObject = {
    key: 'key_1',
    name: 'Previous name',
    age: '30',
    location: '12345 Main St.',
    height: '77',
    weight: '215',
    ...
}

let newObject = {
    key: 'key_1',
    name: 'New name',
    age: '25',
    location: '54321 Main St.',
    height: '77',
    weight: '195',
    ...
}

Я бы хотел, чтобы список вернулся. ..

list = [{ name: 'New name', age: '25', location: '54321 Main St.' }]

Примите во внимание:

  • Предыдущий объект может содержит больше ключей, чем новый объект
  • Проверка этих различий может происходит более одного раза за сеанс пользователя

1 Ответ

2 голосов
/ 30 апреля 2020

В вашем примере list - это массив только с одним объектом, содержащий все различия. Чтобы получить этот объект, вы можете сделать это:

let list = [];

let previousObject = {
    key: 'key_1',
    name: 'Previous name',
    age: '30',
    location: '12345 Main St.',
    height: '77',
    weight: '215',
}

let newObject = {
    key: 'key_1',
    name: 'New name',
    age: '25',
    location: '54321 Main St.',
    height: '77',
    weight: '195',
}

let diff = {}

for (const key in newObject) {
  if (previousObject[key] != newObject[key]) {
    diff[key] = newObject[key]
  } 
}

console.log(diff)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...