Ниже приведен очень простой пример слияния с сохранением обоих значений, однако вы можете создать новый объект, а не мутировать существующий.
let obj1 = { a: 1, b: 2, c: 3 };
let obj2 = { a: 9, d: 8, e: 7 };
Object.entries(obj2).forEach(([key, val]) => {
obj1[key] = obj1[key] ? [obj1[key], val] : val;
});
console.log(obj1);