简体   繁体   English

检查Object1的键是否在Object2中,如果比较

[英]Check if Object1's keys are in Object2 if so compare values

How would I go about doing the following. 我将如何进行以下操作。 I need to see if my object1.keys are in object2, if the key is there I need to compare the value, if the values are different I need to replace Object2's value with Object1's value. 我需要查看我的object1.keys是否在object2中,如果键在那里,我需要比较该值,如果值不同,则需要用Object1的值替换Object2的值。

Object1: 对象1:

object1 = {
   firstName: "Bob",
   lastName: "Smith",
   dob: "May 25, 1977"
}

Object2: 对象2:

object2 = {
   firstName: "Bobby",
   lastName: "Jones",
   dob: "May 25, 1977",
   created: "May 24, 1977",
   userLevel: "jedi"
}

Desired output for Object2: 所需的Object2输出:

object2 = {
   firstName: "Bob",
   lastName: "Smith",
   dob: "May 25, 1977",
   created: "May 24, 1977",
   userLevel: "jedi"
}
 Object.assign(object2, object1);

or to not mutate object2 but creating a new object: 或不更改object2而是创建一个新对象:

 const newObj = {...object2, ...object1}

That assigns all values from object1 to object2. 这会将所有值从object1分配给object2。 If they are the same, it doesnt matter if we copy them. 如果它们相同,那么我们复制它们并不重要。

Just use for in on first object and compare 只需用于第一个对象并进行比较

 let object1 = { firstName: "Bob", lastName: "Smith", dob: "May 25, 1977" } let object2 = { firstName: "Bobby", lastName: "Jones", dob: "May 25, 1977", created: "May 24, 1977", userLevel: "jedi" } for(let key in object1){ if(object2[key]){ object2[key] = object1[key] } } console.log(object2); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM