获取JavaScript中两个对象之间差异的属性
假设,我们给了两个对象,它们具有相似的键值对,两个对象中的一个或键值不同。我们的工作是编写一个函数,该函数接受两个对象作为参数,并返回发现具有不同值的第一个键。如果所有键的值完全相同,则应返回-1。
这是示例对象-
const obj1 = {name: 'Rahul Sharma',
id: '12342fe4554ggf',
isEmployed: true,
age: 45,
salary: 190000,
job: 'Full Stack Developer',
employedSince: 2005
}
const obj2 = {
name: 'Rahul Sharma',
id: '12342fe4554ggf',
isEmployed: true,
age: 45,
salary: 19000,
job: 'Full Stack Developer',
employedSince: 2005
}
我们将接收两个对象,使用forEach()
循环遍历第一个对象,检查两个对象是否相等,如果任何时候的值都不匹配,我们将更新一个标志,退出循环并返回特定的键。如果我们遍历整个循环,则意味着所有内容都匹配,在这种情况下,我们将返回-1。
完整的代码将是-
示例
const obj1 = {name: 'Rahul Sharma',
id: '12342fe4554ggf',
isEmployed: true,
age: 45,
salary: 190000,
job: 'Full Stack Developer',
employedSince: 2005
}
const obj2 = {
name: 'Rahul Sharma',
id: '12342fe4554ggf',
isEmployed: true,
age: 45,
salary: 19000,
job: 'Full Stack Developer',
employedSince: 2005
}
const difference = (obj1, obj2) => {
let keyFound = false;
Object.keys(obj1).forEach(key => {
if(obj1[key] !== obj2[key]){
return keyFound = key;
}
});
return keyFound || -1;
};
console.log(difference(obj1, obj2));
输出结果
控制台中的输出将为-
salary
以上是 获取JavaScript中两个对象之间差异的属性 的全部内容, 来源链接: utcz.com/z/326561.html