Задать вопрос
@tomatenshi
Frontend разработчик

Как в объект лучше всего добавить содержимое другого объекта (ES6)?

let obj1 = { a : 1, b : 2};
let obj2 = { c : 3, a : 4};

какая-то магия и бац (порядок не важен)
obj1 = { a : 4, b : 2, c : 3};

мне на ум приходит только что-то такое:
obj1 = {...obj1, ...obj2};

какие ещё есть варианты?)
Может можно не пересоздавать объект obj1, а именно менять?
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
rockon404
@rockon404
Frontend Developer
Порядок перепутали:
const obj1 = { a : 1, b : 2 };
const obj2 = { c : 3, a : 4 };

const result = { ...obj1, ...obj2 };

Можно использовать метод Object.assign:
const obj1 = { a : 1, b : 2 };
const obj2 = { c : 3, a : 4 };

const result = Object.assign({}, obj1, obj2);


Вариант с мутированием obj1:
let obj1 = { a : 1, b : 2 };
const obj2 = { c : 3, a : 4 };

obj1 = Object.assign(obj1, obj2);
Ответ написан
Ваша постановка вопроса
Как в объект лучше всего добавить содержимое другого объекта (ES6)?
подразумевает изменение существующего объекта, а не комбинацию двух в третий, оператором ... это сделать невозможно, так что
Object.assign(obj1 , obj2);
В вашем коде вы в переменной obj1 получите новый объект, который комбинирует свойства первого и второго
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы