算法

1、js 树逆向查找

利用递归,当最后找到当前节点后再一层层返回上来拿到整棵树从当前节点到根节点的id

function findParentArr(targetId) {
  const ids = [];

  function getParent(sources) {
    if (Array.isArray(sources) {
      return sources.find((elm) => {
        let rs = getParent(elm);
        if (rs) {
          ids.push(elm.id);
        }
        return rs;
      });
    }
    if (sources.id === targetId) {
      return true;
    }
    if (Array.isArray(sources.childFunctionList) {
      return getParent(sources.childFunctionList);
    }
  }

  getParent(options);
  return ids;
}