Какой использовать алгоритм? На входе я имею json массив данных. В каждом элементе имеется id(string, not null), folder(bool), parentId(string)
На основе этих данных я должен составить дерево. Аналогия это -файловая система в проводнике windows(думаю как и в большинстве ОС).
Можете подсказать, как это реализовать или каким алгоритмом, или где посмотреть уже сделанное?

21 Авг 2019 в 06:25
246 +1
0
Ответы
1

Для построения дерева на основе данных из JSON массива вы можете использовать рекурсивный алгоритм. Вот пример рекурсивной функции на JavaScript, которая может помочь вам реализовать данную задачу:

function buildTree(items, parentId) {
const tree = [];
items.forEach(item => {
if (item.parentId === parentId) {
const children = buildTree(items, item.id);
if (children.length > 0) {
item.children = children;
}
tree.push(item);
}
});
return tree;
}
// Пример использования
const data = [
{ id: '1', folder: true, parentId: null },
{ id: '2', folder: true, parentId: '1' },
{ id: '3', folder: false, parentId: '1' },
{ id: '4', folder: false, parentId: '2' },
{ id: '5', folder: true, parentId: '2' },
{ id: '6', folder: false, parentId: '5' }
];
const tree = buildTree(data, null);
console.log(tree);

Вы можете адаптировать этот код под ваши данные и требования. Также рекомендуется изучить библиотеки для работы с деревьями, такие как react-treebeard или angular-tree-component, которые могут ускорить процесс реализации.

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир