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"},
]
},
]
};
how to get sub object from a big object .In my problem I have a big object
and search text
I want to get whole object
which have name property
is equal to searchtext
I tried like this
function searchObj(obj,searchText){
if(obj.name === searchText) return obj;
let result;
if(obj['children'] && obj['children'].length > 0){
obj['children'].forEach((i)=>{
result =searchObj(i,searchText)
})
}
return result || null
}
console.log(searchObj(tree,'A-1'))
getting output null
expected output
{
name: 'A-1',
children: [
{name: "A-1-A"},
{name: "A-1-B"},
]
}
I used recursion to get the object but I am not sure why is not working