Сравнить 2 объекта и вернуть объект с одинаковыми ключами

Подскажите как сделать:

const obj1 = {
firstName: "Иванов",
lastName: "Иван",
middleName: "Иванович"  
}

const obj2 = {
firstName: "Сидоров",
lastName: "Олег",
}

Нужно сравнить obj1 и obj2 и вернуть obj1 только с теми ключами(не значениями) которые есть в obj2.


Ответы (2 шт):

Автор решения: artomich

Я правильно понял, что значения сравнивать не нужно - только проверять наличие свойств одного объекта в другом?

const func = (obj1, obj2) => {
    let result = {};
    for (let prop in obj1) {
        if (obj2.hasOwnProperty(prop)) result[prop] = obj1[prop];
    };
    return result;
}
→ Ссылка
Автор решения: KordDEM
$.each(obj1, function(key, value){
  if(!(key in obj2)){
    delete obj1[key]
  }
})

На выходе получим obj1 только с нужными ключами

→ Ссылка