Массив объектов с каждым отдельным потомком этого объекта - PullRequest
0 голосов
/ 08 мая 2020

Я ввел JS объект вроде этого:

const arr = [
   {
       name: 'obj-1',
       children: [
           {
               name: 'obj-1-child1',
               children: [
                   {
                       name: 'obj-1-child1-child1',
                       children: [
                           {
                               name: 'obj-1-child1-child1-child1'
                           },
                           {
                               name: 'obj-1-child1-child1-child2'
                           }
                       ]
                   },
                   {
                       name: 'obj-1-child1-child2'
                   }
               ]
           },
           {
               name: 'obj-1-child1',
               children: [
                   {
                       name: 'obj-1-child2-child1',
                       children: [
                           {
                               name: 'obj-1-child2-child1-child1'
                           }
                       ]
                   }
               ]
           }
       ]
   },
   {
       name: 'obj-2',
       children: [
           {
               name: 'obj-2-child1',
               children: [
                   {
                       name: 'obj-2-child1-child1'
                   }
               ]
           }
       ]
   }
]


Я попытался сделать это, повторяя объект с помощью FOR l oop. Для каждого шага этого дерева нужен отдельный объект. obj1-> child1, затем obj1-> child1-> child1, затем obj1-> child1-> child1-> child1 et c для каждого шага для всех элементов в дереве

const arr1 = [
   {
       name: 'obj-1',
       children: [] // one object for 1 step in tree
   },
   {
       name: 'obj-1',
       children: [
           {
               name: 'obj-1-child1',
               children: []
           }
       ]
   },
   {
       name: 'obj-1',
       children: [
           {
               name: 'obj-1-child1',
               children: [
                   {
                       name: 'obj-1-child1-child1',
                       children: []
                   }
               ]
           }
       ]
   },
   {
       name: 'obj-1',
       children: [
           {
               name: 'obj-1-child1',
               children: [
                   {
                       name: 'obj-1-child1-child1',
                       children: [
                           {
                               name: 'obj-1-child1-child1-child1'
                           }
                       ]
                   }
               ]
           }
       ]
   }
]

, что означает для такого дерева , результат должен быть: 12 элементов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...