Есть примерно такой набор данных и по ним нужно построить дерево категорий.
Main
DATA
Images
1.png
Videos
1.avi
Music
TEST
0:{name: "Images", .., parent: "Data"}
1:{name: "1.png", .., parent: "Images"}
2:{name: "Musics", .., parent: "Data"}
3:{name: "Data", .., parent: "MAIN"}
4:{name: "Videos", ..", parent: "Data"}
5:{name: "1.avi", ..", parent: "Videos"}
6:{name: "Test", ..", parent: "MAIN"}
Есть функция для построения этого дерева
function tree(parent, arr) {
arr.forEach(function (item) {
if (parent !== item.parent) {
return;
}
//build tree
tree(item.name, arr);
});
}
Всё работает и строится, но при относительно небольшом наборе данных (например при 50 элементов - 2550 проходов) количество проходов огромное, каким образом можно улучшить проход чтобы уменьшить количество итераций? Или есть какой-то другой подход в этом случаи?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости