问题示意图:
问题描述:所有节点都储存在list里,只有pid能表明他们之间的关系,现根据pid把他们进行整理,生成类似树的结构。
所用语言:JavaScript
let tempNodeList = [
{
id: 'c',
parent: { id: 'b' }
},
{
id: 'd',
parent: { id: 'c' }
},
{
id: 'e',
parent: { id: 'a' }
},
{
id: 'f'
},
{
id: 'a'
},
{
id: 'b',
parent: { id: 'a' }
},
{
id: 'g',
parent: { id: 'f' }
},
{ id: 'h' }
]
const createTree = (nodeList, parentName = 'parent', childrenName = 'children') => {
let result = nodeList
// 判断是否为尾节点
// 判断依据:该节点为根节点或者该节点存在子节点
const isNotLastNode = tempNode => (!tempN