【发布时间】:2020-04-02 12:32:14
【问题描述】:
let tree = {
name: "A",
children: [
{
name: 'A-1',
children: [
{name: "A-1-A"},
{name: "A-1-B"},
]
},
{
name: 'B-1',
children: [
{
name: "B-1-A",
children: [
{name: "B-11-A"},
{name: "B-11-B"}
]
},
{name: "B-1-B"},
]
},
]
};
我正在尝试使用递归从tree object 中找到object。
当我这样调用 searchFn(tree,'A-1') 时,它应该返回 {
name: 'A-1',
children: [
{name: "A-1-A"},
{name: "A-1-B"},
]
} 对象
我这样称呼searchFn(tree,'A-1-A') 它应该返回这个
{name: "A-1-A"}
我试过这样但没有用
function searchFn(obj ,searchText){
if(obj.name === searchText) return obj
if(obj.children.length > 0){
return searchFn(obj.children.pop(),searchText)
}
return null
}
【问题讨论】:
标签: javascript recursion tree