javascript 递归问题

-狂奔的蜗牛- 2014-05-26 09:18:55
写了一个生成类似树状的程序,但无法递归,求大神解释

    function analyze(data,parentId,space){
var str = "";
for (i = 0; i < data.length; i++) {
var node = data[i];

if (node.parentOutlineId == parentId) {
//space+=50;

str += "<tr>";
str += "<td style='padding-left:"+space+"px'>"+node.outlineDetailName+"</td>";
str += "<td>"+node.outlineDetailRole+"</td>";
str += "</tr>";

str += analyze(data,node.id,space);
}
  }
return str;
}


调用:
var str = analyze(data,0,0);


代码中data是一个json对象


数据是这样的


现在只显示一行
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狂奔的蜗牛- 2014-05-27
  • 打赏
  • 举报
回复
http://zhidao.baidu.com/question/1702548325963090260.html?sort=6#answer-1694810937 问题已在百度知道得到解决,结贴
-狂奔的蜗牛- 2014-05-27
  • 打赏
  • 举报
回复

json数据是这样的
xuzuning 2014-05-27
  • 打赏
  • 举报
回复
测试你的代码,找出问题的所在,你总该提供测试数据吧? 你是有截图,但有多少人有空从截图中构造出原始数据呢? 与人方便才能与己方便哟!
-狂奔的蜗牛- 2014-05-27
  • 打赏
  • 举报
回复
引用 4 楼 zy205817 的回复:
node.parentOutlineId == parentId 打印值看看
就是库里的数据,看上面截图
码无边 2014-05-27
  • 打赏
  • 举报
回复
node.parentOutlineId == parentId 打印值看看
scscms太阳光 2014-05-27
  • 打赏
  • 举报
回复
重点是把你数据json输出来看看
apple8160 2014-05-27
  • 打赏
  • 举报
回复

 var str = "";
function analyze(data,parentId,space){
       
            for (i = 0; i < data.length; i++) {
            var node = data[i];
            
           if (node.parentOutlineId == parentId) {
               //space+=50;
                
                str += "<tr>";
               str += "<td style='padding-left:"+space+"px'>"+node.outlineDetailName+"</td>";
               str += "<td>"+node.outlineDetailRole+"</td>";
               str += "</tr>";
                
               str += analyze(data,node.id,space);
           }
                  }
        return str;
       }
到外面试试,在里面的话 再次循环初始化是空的 你只能取一条数据了
-狂奔的蜗牛- 2014-05-27
  • 打赏
  • 举报
回复
有人遇到类似的问题吗?

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧