Для объединения двух объектов в JavaScript есть несколько способов. Вот несколько из них:
1. Использование оператора Spread (...
)
Оператор Spread позволяет объединять объекты в новом объекте, сохраняя все их свойства.
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const mergedObj = { ...obj1, ...obj2 };
console.log(mergedObj); // { a: 1, b: 2, c: 3, d: 4 }
2. Метод Object.assign()
Метод Object.assign()
копирует все перечисляемые свойства одного или более исходных объектов в целевой объект.
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const mergedObj = Object.assign({}, obj1, obj2);
console.log(mergedObj); // { a: 1, b: 2, c: 3, d: 4 }
3. Использование библиотеки Lodash
Lodash предоставляет функцию _.merge()
, которая глубоко объединяет свойства объектов.
const _ = require('lodash');
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const mergedObj = _.merge({}, obj1, obj2);
console.log(mergedObj); // { a: 1, b: 2, c: 3, d: 4 }
Пример использования
Вот пример, объединяющий два объекта с использованием каждого из перечисленных методов:
const obj1 = { name: "John", age: 30 };
const obj2 = { job: "Developer", city: "New York" };
// Spread
const spreadObj = { ...obj1, ...obj2 };
console.log("Spread:", spreadObj);
// Object.assign()
const assignObj = Object.assign({}, obj1, obj2);
console.log("Object.assign():", assignObj);
// Lodash merge
const _ = require('lodash');
const lodashObj = _.merge({}, obj1, obj2);
console.log("Lodash.merge():", lodashObj);