码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript遍历树结构

时间:2018-04-03 22:03:55      阅读:1350      评论:0      收藏:0      [点我收藏+]

标签:queue   const   非递归遍历   let   asc   travel   return   for   treenode   

遍历

function parseTreeJson(treeNodes){
    if(!treeNodes||!treeNodes.length)return;
    for(let i=0;i<treeNodes.length;i++){
        let childs=treeNodes[i].children;
        console.log(treeNodes[i].key)
        if(childs&&childs.length>0){
            parseTreeJson(childs);
        }
    }
}

广度非递归遍历

const travelWidely=(roots)=>{
    const queue = [...roots];
    while (queue.length){
        const node = queue.shift();
        //打印被遍历的节点
        if(node===undefined) return;
        console.log(`${node.title} ${node.children && node.children.length || ""}`);

        if(node.children&&node.children.length){
            queue.push(...node.children)
        }
    }
}

JavaScript遍历树结构

标签:queue   const   非递归遍历   let   asc   travel   return   for   treenode   

原文地址:https://www.cnblogs.com/liaozhenting/p/8711072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!