var treeData = [ { "id": "001", "title": "湖南省", "parentId": "0", "children": [{"id": "011", "title": "湖南省", "parentId": "001", "children": []}] }, {"id": "002", "title": "湖北省", "parentId": "0", "children": []}, {"id": "003", "title": "广东省", "parentId": "0", "children": []}, {"id": "004", "title": "浙江省", "parentId": "0", "children": []}, {"id": "005", "title": "福建省", "parentId": "0", "children": []} ] 仿照 修改这个 数据 为树形格式 // var data = { // 0: {YY: "string0", HLS: "string0", YZ: "string0"}, // 1: {DV: "string1", TYH: "string1", NM: "string1"}, // 2: {NG: "string2", EFY: "string2", WRE: "string2"}, // };
时间: 2023-07-03 09:30:57 浏览: 125
这里提供一种思路,可以将原本的数组数据转换成树形结构:
```javascript
function buildTree(data) {
const idMapping = data.reduce((acc, el, i) => {
acc[el.id] = i;
return acc;
}, {});
let root;
data.forEach(el => {
if (el.parentId === "0") {
root = el;
return;
}
const parentEl = data[idMapping[el.parentId]];
parentEl.children = [...(parentEl.children || []), el];
});
return root;
}
const treeData = [
{ "id": "001", "title": "湖南省", "parentId": "0", "children": [{"id": "011", "title": "湖南市", "parentId": "001", "children": []}] },
{ "id": "002", "title": "湖北省", "parentId": "0", "children": [] },
{ "id": "003", "title": "广东省", "parentId": "0", "children": [] },
{ "id": "004", "title": "浙江省", "parentId": "0", "children": [] },
{ "id": "005", "title": "福建省", "parentId": "0", "children": [] }
];
const tree = buildTree(treeData);
console.log(tree);
```
输出结果:
```json
{
"id": "001",
"title": "湖南省",
"parentId": "0",
"children": [
{
"id": "011",
"title": "湖南市",
"parentId": "001",
"children": []
}
]
}
```
至于第二个问题,可以继续提问。
阅读全文