美文网首页
树形结构算法实现

树形结构算法实现

作者: 幸运三片叶 | 来源:发表于2019-08-12 20:15 被阅读0次

    要求 现在有这样的数据结构

    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;
        });
    }
    
    • 结果


      image.png

    相关文章

      网友评论

          本文标题:树形结构算法实现

          本文链接:https://www.haomeiwen.com/subject/hlepjctx.html