如何从具有不同值的两个对象中返回键和值
我将如何循环两个对象,并且only返回不同键和值的列表?
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 might比newObject包含更多的键
- 每个用户会话检查这些差异可能会发生多次
在您的示例中,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)
如何从具有不同值的两个对象中返回键和值
我将如何循环两个对象,并且only返回不同键和值的列表?
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 might比newObject包含更多的键
- 每个用户会话检查这些差异可能会发生多次
在您的示例中,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)
发布评论