麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
javascript递归问题
悬赏分:20 - 2007年08月18日

lanArr为二维数组,函数compositor对lanArr排序,得到lan2Arr数组,我想得到效果为: 顶层1   第二层1     第三层1   第二层2     第三层2   第二层3 顶层2   第二层4 于是我使用递归函数,但是总是显示出来这样的效果 顶层1   第二层1     第三层1 然后就没有了,折腾了一个下午都没搞定,郁闷死我了,请各位高手指点一二,谢谢,以下是源代码 [PHP] <script language="JavaScript"> var lanArr=new Array(); lanArr[0] = new Array(); lanArr[0]['id'] = 1; lanArr[0]['fid'] = 0; lanArr[0]['name'] = "顶层1"; lanArr[0]['layer'] = "0"; lanArr[1] = new Array(); lanArr[1]['id'] = 2; lanArr[1]['fid'] = 0; lanArr[1]['name'] = "顶层2"; lanArr[1]['layer'] = "0"; lanArr[2] = new Array(); lanArr[2]['id'] = 3; lanArr[2]['fid'] = 1; lanArr[2]['name'] = "第二层1"; lanArr[2]['layer'] = "1"; lanArr[3] = new Array(); lanArr[3]['id'] = 4; lanArr[3]['fid'] = 1; lanArr[3]['name'] = "第二层2"; lanArr[3]['layer'] = "1"; lanArr[4] = new Array(); lanArr[4]['id'] = 5; lanArr[4]['fid'] = 1; lanArr[4]['name'] = "第二层3"; lanArr[4]['layer'] = "1"; lanArr[5] = new Array(); lanArr[5]['id'] = 6; lanArr[5]['fid'] = 3; lanArr[5]['name'] = "第三层1"; lanArr[5]['layer'] = "2"; lanArr[6] = new Array(); lanArr[6]['id'] = 7; lanArr[6]['fid'] = 4; lanArr[6]['name'] = "第三层2"; lanArr[6]['layer'] = "2"; lanArr[7] = new Array(); lanArr[7]['id'] = 8; lanArr[7]['fid'] = 2; lanArr[7]['name'] = "第二层4"; lanArr[7]['layer'] = "1"; var lan2Arr = new Array(); var k=0; function compositor(fid){ for (i=0; i['fid'] == fid){ lan2Arr[k] = new Array(); lan2Arr[k]['id'] = lanArr['id']; lan2Arr[k]['fid'] = lanArr['fid']; lan2Arr[k]['name'] = lanArr['name']; lan2Arr[k]['layer'] = lanArr['layer']; k++; compositor(lanArr['id']); } } } compositor(0); for (i=0; i['layer']; j++) { document.write(" "); } document.write(lan2Arr['name']+"
"); } </script> [/PHP]

提问者:ye177   08-18 08:08
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
37 + 39 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM