猿问

如何从具有不同值的两个对象返回键和值

我将如何遍历两个对象并仅返回不同的键和值的列表?


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.' }]

需要考虑的事项:

我将如何遍历两个对象并仅返回不同的键和值的列表?


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.' }]

需要考虑的事项:

  • previousObject可能包含比 newObject 更多的键

  • 每个用户会话可能不止一次检查这些差异



largeQ
浏览 170回答 1
1回答

料青山看我应如是

在您的示例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)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答