要求 现在有这样的数据结构
var rootArr = [
{
"node_id": 1, // 节点ID
"parent_id": 0, // 本节点的父节点ID,0 表示没有父节点,即根节点
"name": 'xxxx'
},
{
"node_id": 5,
"parent_id": 1, // 本节点的父节点为 node_id = 1 的节点
"name": 'xxxxx'
},
更多数据
];
需要得出像树形结构的数据
- 实现算法
function treeData() {
let cloneData = JSON.parse(JSON.stringify(rootArr));
return cloneData.filter(father => {
let branchArr = cloneData.filter(child=>father.node_id == child.parent_id);
branchArr.length ? father.children = branchArr: '';
return father.parent_id == 0;
});
}
-
结果