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

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

Есть объект опций, который имеет следующий вид
{ timeout: 50, body: { v: 1.52, lg: true}}
Для его изменения(путём слияния пользовательских опций с встроенными) используется Object.assign.
Но если пользовательский объект содержит ключ body, то он полностью затирает значения по умолчанию. Есть ли способ избежать это?
  • Вопрос задан
  • 291 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Не полениться обходить каждое свойство, и если его значение это объект, то рекурсивно не полениться обходить...

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

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

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

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