Чтобы объединить объекты JavaScript с одним и тем же ключом, вы можете использовать несколько методов. Вот некоторые распространенные подходы:
-
Использование оператора распространения (…) и Object.assign():
const obj1 = { a: 1, b: 2 }; const obj2 = { b: 3, c: 4 }; const merged = { ...obj1, ...obj2 }; console.log(merged); // Output: { a: 1, b: 3, c: 4 }
-
Использование метода Object.assign():
const obj1 = { a: 1, b: 2 }; const obj2 = { b: 3, c: 4 }; const merged = Object.assign({}, obj1, obj2); console.log(merged); // Output: { a: 1, b: 3, c: 4 }
-
Использование метода Object.entries() и сокращения():
const obj1 = { a: 1, b: 2 }; const obj2 = { b: 3, c: 4 }; const merged = Object.entries(obj2).reduce((acc, [key, value]) => { if (!acc.hasOwnProperty(key)) { acc[key] = value; } return acc; }, { ...obj1 }); console.log(merged); // Output: { a: 1, b: 2, c: 4 }
-
Использование такой библиотеки, как Lodash:
Lodash предоставляет функцию слияния, которую можно использовать для объединения объектов с одним и тем же ключом. Во-первых, вам необходимо установить Lodash, запустивnpm install lodash
или включив его через CDN. Затем вы можете использовать функциюmerge()
:const _ = require('lodash'); const obj1 = { a: 1, b: 2 }; const obj2 = { b: 3, c: 4 }; const merged = _.merge({}, obj1, obj2); console.log(merged); // Output: { a: 1, b: 3, c: 4 }