获取目录树递归,为什么得到的结果为undefined?<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>
<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赋值进去。
跪求大神指教啊!!