Size: a a a

JavaScript — русскоговорящее сообщество

2020 November 22

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Ребят, подскажите пжлст как решить алгоритм, чет голова не варит
Есть raw массив объектов, у объекта есть id и parentId
Нужно сделать nested массив объектов, где у объекта появится поле nestedItems, состоящих из элементов у которых parentId равно object id
Аля rootObject <= parentId <= parentId <= …
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Ребят, подскажите пжлст как решить алгоритм, чет голова не варит
Есть raw массив объектов, у объекта есть id и parentId
Нужно сделать nested массив объектов, где у объекта появится поле nestedItems, состоящих из элементов у которых parentId равно object id
Аля rootObject <= parentId <= parentId <= …
для поиска используй метод filter
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
для поиска используй метод filter
Поверь, это не то где я застрял)
Я застрял на том, как это делать бесконечно глубоко
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
2 уровня изи
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
А рекурсию чет не могу составить
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Поверь, это не то где я застрял)
Я застрял на том, как это делать бесконечно глубоко
нет там глубины, это один проход
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
нет там глубины, это один проход
Проход то может и один, но как мне поместить массив объектов аля
«id 1 parentId 2, id 2 parentId 3, id 3 parentId 4, id 4 parentId 5» в один объект, где
id 5, nestedItems <= id 4, nestedItems <= id 3, nestedItems <= id 2, nestedItems <= id 1
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Как мне допустим на третьем уровне (id 3, nestedItems <= id 2) сохранить ссылку на то, что объект с id 2 должен быть помещен в object[id = 5] => object[id = 4] => object[id = 3]
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Для наглядности крч вот
Первый скрин это raw array, второй скрин это то, что мне нужно
На двух уровнях вложености это работает норм, а дальше я хз как реализовать
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Для двух уровней я вот так написал
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Проход то может и один, но как мне поместить массив объектов аля
«id 1 parentId 2, id 2 parentId 3, id 3 parentId 4, id 4 parentId 5» в один объект, где
id 5, nestedItems <= id 4, nestedItems <= id 3, nestedItems <= id 2, nestedItems <= id 1
помести в массив
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
помести в массив
Они и так все в массиве) см скрины
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Как мне допустим на третьем уровне (id 3, nestedItems <= id 2) сохранить ссылку на то, что объект с id 2 должен быть помещен в object[id = 5] => object[id = 4] => object[id = 3]
там достатоыно одного уровня
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Они и так все в массиве) см скрины
массив из id
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Извини, но я в упор не понимаю твоей логики :с
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
это не дерево, это граф
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Нууу, если я помню правильно, то в графе могут быть связи у элементов между собой
А в дереве только parent => child
Вот у меня есть только parent => child
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Нууу, если я помню правильно, то в графе могут быть связи у элементов между собой
А в дереве только parent => child
Вот у меня есть только parent => child
дерево это частный случай графа без петель
источник