为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

largeQ 2022-07-21 22:33:06
我将如何遍历两个对象并仅返回不同的键和值的列表?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 更多的键每个用户会话可能不止一次检查这些差异
查看完整描述

1 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

在您的示例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)


查看完整回答
反对 回复 2022-07-21
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号