I have a nested object. I need a function. I need use it for find "parent key" Which function should i use for it ? My data :
[{
"Name": "Main Menu",
"Key": "1",
"Children": [{
"Name": "Sub Menu 1",
"Key": "10",
"Children": [{
"Name": "Very Sub Menu",
"Key": "20",
"Children": []
}]
}]
},
{
"Name": "Main Menu 2",
"Key": "2",
"Children": [{
"Name": "Sub Menu 2",
"Key": "11",
"Children": [{
"Name": "Very Sub Menu 2",
"Key": "21",
"Children": [{
"Name": "Extra Small Menu",
"Key": "30",
"Children": []
}]
}]
}]
}
]
For example when I send my array and key (For example "10"(Sub Menu 1) for that example) I need take 1 as a result (Main Menu Key.)
Example 2 : If I give 30 as a key ; I need take 21 as a result. How can I do it ? Thanks for replies!
I tried like :
var res = myData.filter(function f(o) {
if (o.key === dragKey) return true;
if (o.children) {
return (o.children = o.children.filter(f)).length;
}
});
console.log(res); // Its giving main whole data main level to child level. I need just 1 upper level data.