Как построить дерево папок из json объекта?

b8724cf05e8d419d8f248a8878dc83a1.jpeg
Eсть объект в котором лежат Проекты, их 7, нужный проект я нахожу с легкостью с помощью lodash, допустим это 7-ой как на скрине, дальше я знаю что есть конечная папка с Id "e0685640..." она же Meetings, мне нужно в итоге построить дерево проекта:
Проект -> путь(промежуточные папки) -> конечная папка
Я знаю только проект и id конечной папки, нужно вынуть промежуточные папки, в данном варианте это "Bugs", но уровень вложенности может быть каким угодно, и может быть что нет вложенности.
В итоге должно получиться так Thick Client -> Bugs -> Meetings
// id оконечной папки
let folderId = "e0685640-8564-41c6-b53a-d67a8c6ab886";
// id проекта
let projectId = 'f04c9cb9-1907-4c30-acd4-deed91ba8f85';
// получаю индекс нужного мне проекта в массиве объектов
let projectIndex = _.findIndex(this.projects, {'Id': projectId});
// объект с нужным проектом
this.selectProject = this.projects[projectIndex];
//this.selectProject.Folders массив объектов с данными папок

Пробовал рекурсивно проверять, выдергивать значения, не получилось, по сути как я понимаю нужно найти этот id оконечной папки, если нашел, запомнить путь по которому она лежит, и потом как то обратной рекурсией вытащить название промежуточных папок.
Чуть не забыл, это метод класса Angular 2, написано на TypeScript.
  • Вопрос задан
  • 660 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы