开发者社区> 问答> 正文

js 遍历多叉树怎么遍历

从后台获得的json格式字符串如下:

[{"thisNode":"10000480","prientNode":"10000480","level":"0","isLeaf":"0","children":[{"level":"1","prientNode":"10000440","thisNode":"10000480","isLeaf":"1","children":[]},{"level":"1","prientNode":"10000441","thisNode":"10000480","isLeaf":"0","children":[{"level":"2","prientNode":"100660","thisNode":"10000441","isLeaf":"1","children":[]}]}]}]

格式有点乱啊,不好意思。
我在前台的js中要怎么遍历出来啊,谢谢。

展开
收起
小旋风柴进 2016-03-19 11:02:55 3287 0
1 条回答
写回答
取消 提交回答
  •     var s = '[{"thisNode":"10000480","prientNode":"10000480","level":"0","isLeaf":"0","children":[{"level":"1","prientNode":"10000440","thisNode":"10000480","isLeaf":"1","children":[]},{"level":"1","prientNode":"10000441","thisNode":"10000480","isLeaf":"0","children":[{"level":"2","prientNode":"100660","thisNode":"10000441","isLeaf":"1","children":[]}]}]}]';
            function getChildrenStr(node) {
                var r = '', children = node.children;
                if (children && children.length > 0) {
                    var level = parseInt(children[0].level, 10), preBlank = '         '.substr(0, level);
                    for (var i = 0; i < children.length; i++) {
                        r += '<br>' + preBlank + children[i].prientNode + getChildrenStr(children[i]);
                    }
                }
                return r;
            }
            var o = eval('(' + s + ')');//转为json对象
            var r = '';
            for (var i = 0; i < o.length; i++) {
                r += '<br>' + o[i].prientNode + getChildrenStr(o[i]);
            }
            document.write(r);
    2019-07-17 19:07:42
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载