I have a nested object tree which represents a folder structure. I need to build multiple directories by traversing through the nodes.
diagram of folder structure:
Here's my folder structure's object: https://jsfiddle.net/himel023/8jw3yhs0/
I have tried recursive and non-recursive approach. Not working the way i wanted it to.
Here's my jsfiddle link: https://jsfiddle.net/himel023/sr25xq8L/
some sample code that i have tried:
let crDirList = (tree) => {
for (let i = 0; i < tree.length; i++) {
let tempSingleDir = crSingleDir(tree[i]);
console.log(tempSingleDir);
let curDir = tree[i];
while (curDir.hasChild) {
curDir = curDir.subFolder.folders;
crDirList(curDir);
}
}
}
let dirArr = [];
function crSingleDir (tree) {
let dirToBuildArr = [];
let subf = tree.subFolder.folders;
if (tree.hasChild) {
for (let i = 0; i < subf.length; i++) {
dirToBuildArr[i] = `/${tree.name}/${subf[i].name}`;
}
} else {
dirToBuildArr[0] = 0;
}
return(dirToBuildArr);
}
let fst = treeObject.folders;
crDirList(fst.folders);
I am getting only one level of subfolders for e.g. "/video/Synopi-Videos" or "/Other videos/Urgent folder".
But what i am trying to do is getting some outputs like "/video/Synopi-Videos/Empty Folders" , then again "/video/Synopi-Videos/Other Videos/Urget folder/" etc.