• 周二. 10 月 8th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

JS 树形结构 根据子节点找到所有上级

admin

11 月 28, 2021

需求:是根据子菜单找到所有他上级菜单 进行面包屑的回显

要求子节点里包含父级id  

代码如下:

    parentTree(arr, id) {   //arr 所有的树数据 id 某个子节点的id 
      var temp = [];
      var callback = function (nowArr, id) {     //先定义个函数寻找子节点位置 找到后 再找改节点父元素位置 以此类推
        for (var i = 0; i < nowArr.length; i++) {
          var item = nowArr[i];
          if (item.id === id) {
            temp.push(item);
            callback(arr, item.pid);     //pid 父级ID
            break;
          } else {
            if (item.menus) {
              callback(item.menus, id); //menus 子节点字段名称
            }
          }
        }
      };
      callback(arr, id);
      return temp;  //最后返回
    },

发表回复