我这里有个树形对象var i1={
id:1,
name:'root',
is:[{
id:'2',
name:'2'
},{
id:'3',
name:'3',
is:[{
id:'4',
name:'4',
is:[{
id:'6',
name:'6'
},{
id:'7',
name:'7'
}]
},{
id:'5',
name:'5',
is:[{
id:'8',
name:'8'
},{
id:'9',
name:'9'
}]
}]
}]
}
我想用一个方法fnGetFloor(i1)来取得这个树形对象的深度,这个函数该怎么写?
id:1,
name:'root',
is:[{
id:'2',
name:'2'
},{
id:'3',
name:'3',
is:[{
id:'4',
name:'4',
is:[{
id:'6',
name:'6'
},{
id:'7',
name:'7'
}]
},{
id:'5',
name:'5',
is:[{
id:'8',
name:'8'
},{
id:'9',
name:'9'
}]
}]
}]
}
我想用一个方法fnGetFloor(i1)来取得这个树形对象的深度,这个函数该怎么写?
解决方案 »
- 请帮忙解决js的sessionStorage为什么不能用
- Extjs NumberField 同步输入 监听事件:有两个文本框,当输入第一个文本框内容时,第二个文本框也同时显示和第一个文本框相同的内容,该如何实现
- 让收藏栏在右侧显示
- 有时间给看看这个问题http://space.cnblogs.com/question/2966/
- 为什么是number,而不是3呢?
- 怎样在网页中调用客户端exe程序?(exe文件路径已知)
- Firefox下用JavaScript取XML数据的问题
- session过期登录后如何自动进行下一步操作,具体请进
- 怎么通过JS控制TEXTAREA中的内容
- 急,初级问题
- 怎么用$('pianyi')选择器获取left和top的值
- jquery鼠标经过离开和点击离开事件发生冲突了
function 深度(节点){
return 1 + max(深度(节点.childs));
}
function fn(data){
if(typeof data.is!='undefined'){
for(var i in data.is){
data.is[i].deep = data.deep+1; fn(data.is[i]);
}
}else if(data.deep>maxDeep){
maxDeep = data.deep;
}
}
i1.deep = 1;
var maxDeep = i1.deep;
fn(i1);
console.log(maxDeep);