json树如何统计所有节点的子孙节点数量?

const Tree = [{
    name:1,
    children:[{}],
    childrenNum:0
}]

给每个节点算他的子孙数量childrenNum
写半天没写出来求大佬指导一下

阅读 4.6k
1 个回答

每一个的结构一致?

一致的话递归就行了。

function cal(tree) {
    const childNum = tree.children.reduce((result, childTree) => {
        return cal(childTree) + result
    }, tree.children.length)
    tree.childrenNum = childNum
    return childNum
}

// 调用

tree.forEach(t => cal(t))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题