Из одномерного массива объектов сделать вложенный JS

Есть массив объектов

const myArray = [
{«id»: 100, «name»: «Германия», «parent»: null},
{«id»: 200, «name»: «Япония», «parent»: null},
{«id»: 300, «name»: «США», «parent»: null},
{«id»: 120, «name»: «Берлин», «parent»: 100},
{«id»: 140, «name»: «Мюнхен», «parent»: 100},
{«id»: 160, «name»: «Гамбург», «parent»: 100},
{«id»: 210, «name»: «Токио», «parent»: 200},
{«id»: 330, «name»: «Вашингтон», «parent»: 300},
{«id»: 350, «name»: «Нью Йорк», «parent»: 300},
{«id»: 999, «name»: «Бруклин», «parent»: 350}
]

Из него нужно получить вот такой

const myNewArray = [
  {
    «id»: 100, 
    «name»: «Германия», 
    «parent»: null, 
    «children»: [
      {«id»: 120, «name»: «Берлин», «parent»: 100},
      {«id»: 140, «name»: «Мюнхен», «parent»: 100},
    ]
  },
  {
    «id»: 200, 
    «name»: «Япония», 
    «parent»: null,
    «children»: [
      {«id»: 210, «name»: «Токио», «parent»: 200},
    ]
  },
  {
    «id»: 300, 
    «name»: «США», 
    «parent»: null,
    «children»: [
      {«id»: 330, «name»: «Вашингтон», «parent»: 300},
      {«id»: 350, «name»: «Нью Йорк», «parent»: 300, 
        «children»: [
          {«id»: 999, «name»: «Бруклин», «parent»: 350}
        ]
    ]
  }
]

Заранее всем спасибо за помощь


Ответы (0 шт):