如何比较两个不同的对象键并更新它';如果Javascript中的键相同,则为s值?

如何比较两个不同的对象键并更新它';如果Javascript中的键相同,则为s值?,javascript,Javascript,这里我有两个不同的对象: let oldObject = {name:"Dhanush",age:24,sex:"Male",education:"Btech"} let newObject = {name:"Dhanush kumar S",age:23,sex:"Male"} 结果应该是比较以上两个对象并检查键是否相同,然后用newObject更新oldObject值。结果一定是这样 let

这里我有两个不同的对象:

let oldObject = {name:"Dhanush",age:24,sex:"Male",education:"Btech"}
let newObject = {name:"Dhanush kumar S",age:23,sex:"Male"}
结果应该是比较以上两个对象并检查键是否相同,然后用newObject更新oldObject值。结果一定是这样

let updatedObject = {name:"Dhanush kumar S",age:23,sex:"Male",education:"Btech"}
我试着做这样的事情,但这没有帮助。非常感谢你的帮助

const compareObjects = () => {
    for (let [key,value] in oldObject) {
        if (newObject.hasOwnProperty(key)) {
            oldObject[newObject[key]] = newObject[value]
            delete oldObject[key]; //remove old entry
        }
    }
    console.log(oldObject)
}
compareObjects()

您可以使用

只需先展开旧对象,然后展开新对象

匹配的关键点(如果有)将由新对象中的值更新,并且将添加新对象中的新关键点:

let oldObject={姓名:“Dhanush”,年龄:24岁,性别:“男”,教育:“Btech”}
let newObject={姓名:“Dhanush kumar S”,年龄:23岁,性别:“男性”}
常量合并=(旧对象、新对象)=>{
返回{…oldObj,…newObj};
}

log(合并(oldObject,newObject))
您应该能够简单地使用
constupdateobject={…oldObject,…newObject}