获取目录树递归,为什么得到的结果为undefined?
- HTML code
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script> <script type="text/javascript"> var drres={ categories:[ {categories_id:'4',parent_id:'0'}, {categories_id:'6',parent_id:'4'}, {categories_id:'7',parent_id:'6'} ] } //获取目录树数组,如['4','6','7'] function get_upper_categories(cid,arr){ var arr=arr||[]; var a=drres.categories.filter(function (n,i){ return n.categories_id==cid; }); if(a.length>0){ arr.unshift(cid); get_upper_categories(a[0]['parent_id'],arr); }else{ return arr; } } var tree=get_upper_categories('7'); alert(tree); </script>
------解决方案--------------------
我自己写了一个简单的递归函数,也是返回不了局部变量。
估计是递归函数的问题,返回不了局部变量。可以定义一个全局变量,最后将arr赋值进去。
跪求大神指教啊!!