我将如何遍历两个对象并仅返回不同的键和值的列表?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)
添加回答
举报
0/150
提交
取消