JSFiddle - React, Tailwind, and code Playground
by suhail
JavaScript
getFilter = function(arr, id) {
let parent = null;
for (let i = 0; i < arr.length; i++) {
let filter = arr[i];
if (filter.id === id) {
parent = filter;
return filter;
} else {
if (filter.children && filter.children.length > 0) {
parent = self.getFilter(filter.children,id);
if (parent) {
return parent;
}
}
}
}
return parent;
}
arr = [{
id: "1",
children: [{
id: "11"
}, {
id: "12",
children: [{
id: "121",
children: [{
id: "1211"
}, {
id: "1212"
}]
}]
}, {
id: "3",
children: [{
id: "31"
}, {
id: "32"
}]
}, {
id: "2",
children: [{
id: "21"
}, {
id: "22"
}]
}]
}];
console.log(getFilter(arr, "12111"))