js多叉树遍历问题

有一个一下模板的节点
root:[{

Name:名称,
children:{
    count:7,
    List:{},{},{},{},{},{},{}
}

}]
其中List中的每个对象都与root结构相同。
请问如何把root变成以下模板节点:
root:[{

Name:名称,
children:[{},{},{},{},{},{},{}]

}]

阅读 3k
3 个回答

说实话我没看懂。

function(root) {
  return [{
    children: root.children.list,
    name: root[0].name
  }]
}

加个判断,然后1楼方式递归

递归:

function traverseTree(list) {
    for (let node of list) {
        if (node.children) {
            if (node.children.List) {
                node.children = node.children.List
            }
            traverseTree(node.children)
        }
    }
}

traverseTree(root)

递归,大体实现如上。最好理解了自己写一下,下次遇到就没问题啦。

推荐问题