var array=[
{name:'浙江省',leaf:1,children:
[
{name:'杭州市',leaf:1,children:
[
{name:'西湖区',leaf:0,,children:null},
{name:'萧山区',leaf:0,children:''}
]
},
{name:'温州市',leaf:1,children:[{name:'乐清市',leaf:0,children:null},
{name:'苍南县',leaf:0,children:''}]}
]
}
];
function getReionByRegionName(name,array){}//name为地区名,arr为地区的数组集合
现在我需要地区为name的所有信息,包括其子地区信息
比如name='杭州市',则返回{name:'杭州市',children:[{name:'西湖区',children:null},{name:'萧山区',children:''}]},
name='浙江省',则返回name:'浙江省',children:
[
{name:'杭州市',children:[{name:'西湖区',children:null},{name:'萧山区',children:''}]},
{name:'温州市',children:[{name:'乐清市',children:null},{name:'苍南县',children:''}]}
]
}
//这个方法不行//
function getReionByRegionName(name,array){
var o;
var nextObj;
for (i = 0; i < array.length; i++) {
o = array[i];
if(name == o.name){
return array[i];
}else{
if(null!=ch){
return document.getRegionByName(name,ch);
}else{
if(''==ch){
.........................
}
continue;
}
}
}
当然也要注意性能,数据有点多!
各位javascript达人帮哈忙!thanks
[b]问题补充:[/b]
atian25
这个肯定不行啊。
因为当递归当县一级的时候children都为空了。你这样肯定报错。
[b]问题补充:[/b]
还是不行啊。
当递归到县级的时候children都为空了,你再迭代就出去for循环了。
请帮忙具体能运行了再解答!谢谢。