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"))