如何解决javascript从平面json数组数据结构构建类别树
我正在尝试使用 javascript 动态转换给定的平面 JSON 数组以构建类别树。 但我不确定如何以最佳方式解决这个问题,以便解决方案可以扩展。类别树需要从以“/”分隔的“name”属性派生。 这是我的初步尝试。
let data = [{"name":"file1.txt"},{"name":"folderA/file2.txt"},{"name":"folderA/folderB/file3.txt"},{"name":"file4.txt"}];
let tree = [];
function buildTree(data){
data.forEach(obj => {
let fileNameArr = obj.name.split("/");
if(fileNameArr.length > 1){
// Not sure
}
} else {
let node = obj;
node.type = "file";
tree.push(node)
}
})
}
console.log(buildTree(data));
预期输出为:
[{"name":"file1.txt","type":"file"
},{
"name":"folderA","type":"Folder","children":[
{"name":"file2.txt","type":"file"
},{"name":"folderB","type":"folder","children":[{"name":"file3.txt","type":"file"}]
}]
},{"name":"file4.txt","type":"file"
}
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。