you_are_enot
@you_are_enot
Пограммист любитель

Как объединить два объекта без затирания вложенных свойств?

Есть объект опций, который имеет следующий вид
{ timeout: 50, body: { v: 1.52, lg: true}}
Для его изменения(путём слияния пользовательских опций с встроенными) используется Object.assign.
Но если пользовательский объект содержит ключ body, то он полностью затирает значения по умолчанию. Есть ли способ избежать это?
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Не полениться обходить каждое свойство, и если его значение это объект, то рекурсивно не полениться обходить...

Простых-встроенных методов пока нет.

Например, см. реализцию _.merge() в библиотеке lodash.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы