Скажем, у меня есть два объекта:
var obj1 = {cars: 'ford', fruit: 'peach', other: ['bar']}
var obj2 = {cars: 'ferrari', info: 'foo', other: ['baz']}
Теперь я хочу объединить эти два объекта и любые конфликтующие свойства. Ожидаемый результат:
{cars: ['ford', 'ferrari'], fruit: 'peach', info: 'foo', other: ['bar', 'baz']}
Тем не менее, при использовании разброса объектов
{...obj1, ...obj2}
Возвращает
{cars: 'ferrari', fruit: 'peach', info: 'foo', other: ['baz']}
Есть ли способ объединить два объекта и объединить конфликтующие свойства в массивы вместо переопределения? Примечание: мне нужен чистый JS