@Alisa94

Как объединить два объекта путём слияния?

Доброго времени суток. Наткнулся на такую проблему и не могу решить уже долгое время. Итак, имеется два многомерных объектов. Я должно совершть операцию оъбединение двух этих объектов в один конечный объект путём слияния их в единый объект. Проблема в том, что объект многомерный и я не могу совершить корректное объединение их путём слияния. По этой ссылке вы можете посмотреть данные объектов, ниже же я приведу вид конечного результата.

[
  {
    text: 'A', children: [{
        text: 'B', children: [{
            text: 'C',
            children: [
              {text: 'B [43]', id: '43'}, 
              {text: 'B [93]', id: '93'},
              {text: 'B [11]', id: '11'},
            ]}
        ]}
    ]
  },
  {
    text: 'D', children: [{
        text: 'M', children: [{
            text: 'N', children: [
              {text: 'M [66]', id: '66'}
            ]}
        ]
    }]
  },
  {
    text: 'W', children: [
      {
        text: 'M', children: [{
            text: 'K', children: [
              {text: 'M [48]', id: '48'},
              {text: 'M [58]', id: '58'}
            ]
        }]
      }, {
        text: 'T', children: [{
            text: 'K', children: [{text: 'S [78]', id: '78'}]
        }]
      }
    ]
  }
];


Тут совершаетеся объединение всех элементов там, где они присутсвуют у одной из объектов и отсутствуют у другой.

Я понимаю, что задача не из простых и возможно оно так и не получит решение в таком формате, но я очень прошу не проходить мимо, хотя бы дать совет, поделиться опытом, предложить альтернативный вариант, предоставить похожую информацию и т.д. и т.п.
Для меня очень важно решить эту проблему, я буду очень признателен за любую помощь, имеется ввиду совет, полезная информация, ну и конечно же решение.
  • Вопрос задан
  • 246 просмотров
Пригласить эксперта
Ответы на вопрос 1
Zraza
@Zraza
Помог ответ? Отметь решением!
Не уверен, что правильно понял задачу, но возможно функция mergeWith библиотеки lodash вам поможет
https://lodash.com/docs/4.17.15#mergeWith
Там как раз есть пример со слиянием массивов.
Ну или написать свою логику в customizer функции
Ответ написан
Ваш ответ на вопрос

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

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