本文主要是介绍转化轮询数据成树状结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写个方法转化轮询数据成树状结构
const data = [{"URI": "","PathName": "1.txt","Reason": "","IsFolder": false,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "2.txt","Reason": "","IsFolder": false,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "测试1/","Reason": "","IsFolder": true,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "测试1/333.txt","Reason": "","IsFolder": false,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "测试1/冲冲冲","Reason": "","IsFolder": true,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "测试1/冲冲冲/555.txt","Reason": "","IsFolder": false,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "测试2/","Reason": "","IsFolder": true,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"},{"URI": "","PathName": "测试2/444.txt","Reason": "","IsFolder": false,"PackedSize": "0","UnPackedSize": "0","FileAccessTime": "2024-08-15T09:21:44Z"}
]const renderTree = (data) => {let TREE = []let temp = []data.forEach((item) => {let arr = item.PathName.split('/').filter(i => i)if (arr.length === 1) {item.label = item.PathName.replace(/\//, '')TREE.push({...item, children: []})} else {temp.push(item)}})const changeTreeData = (TREE, TREE2) => {for (let i = 0; i < TREE.length; i++) {for (let j = 0; j < TREE2.length; j++) {let str = TREE2[j].PathName.split('/').filter(i => i)if (TREE[i].PathName.split('/')[0] === str[0] && str.length === 2) {let a = stra.shift()TREE2[j].PathName = a.join('')TREE2[j].label = a.join('')TREE[i].children.push({...TREE2[j], children: []})} else if (TREE[i].PathName.split('/')[0] === str[0]) {let a = stra.shift()TREE2[j].PathName = a.join('/')changeTreeData(TREE[i].children, [TREE2[j]])}}}}changeTreeData(TREE, temp)return TREE
}
console.log(renderTree(data))
这篇关于转化轮询数据成树状结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!