var defaultData = [{
text: '开发部门',
href: '#parent1',
tags: ['4'],
id:3003,
nodes: [
{
text: 'Child 1',
href: '#child1',
tags: ['2'],
id:3004,
nodes: [
{
text: 'Grandchild 1',
href: '#grandchild1',
tags: ['0'],
id:3005,
},
{
text: 'Grandchild 2',
href: '#grandchild2',
tags: ['0'],
id:3006,
}
]
},
{
text: 'Child 2',
href: '#child2',
tags: ['0'],
id:3007,
}
]
},
{
text: '产品部门',
href: '#parent2',
tags: ['0'],
id:3008,
nodes: [
{
text: '产品Child 1',
href: '#child1',
tags: ['2'],
id:3009,
nodes: [
{
text: '产品Grandchild 1',
href: '#grandchild1',
tags: ['0'],
id:30010,
}
]
},
{
text: '产品Child 2',
href: '#child2',
tags: ['0'],
id:30011,
}
]
},
{
text: '销售部门',
href: '#parent3',
tags: ['0'],
id:30012,
},
{
text: '运营部门',
href: '#parent4',
tags: ['0'],
id:30013,
},
{
text: '设计部门',
href: '#parent5' ,
tags: ['0'],
id:30014,
}];
var tarText = "Grandchild 1";
function findTargetId(dataobj,targetText){
if(dataobj.text == targetText){
return dataobj.id;
}else{
if(dataobj.nodes!=null){
for(var i=0; i<dataobj.nodes.length; i++){
var flagId = findTargetId(dataobj.nodes[i],targetText);
if(flagId){
return flagId;
}
}
}
}
return false;
}
for(var i=0;i<defaultData.length;i++){
var flag = findTargetId(defaultData[i],tarText)
if(flag){
result = flag;
}
}
console.log(result)
相关文章
- 01-06js sort方法根据数组中对象的某一个属性值进行排序
- 01-06js sort方法根据数组中对象的某一个属性值进行排序
- 01-06js根据相同属性值将一个一维对象数组转为二维数组
- 01-06js 递归查找属性值 (根据某个属性值查找另一个属性值)
- 01-06【python】lxml查找属性为指定值的节点
- 01-06根据数组中每个对象中的某个属性值进行排序
- 01-06集合对象根据某个属性值进行排序
- 01-06python – lxml – 在findall()中使用regex按属性值查找标记
- 01-06C#如何根据一个属性网格中另一个属性的值公开一个属性?
- 01-06jquery实现对象数组 筛选出每条记录中的特定属性字段 及根据某个属性值筛选出指定的元素