美文网首页
2020-07-17 通过递归获取节点的所有父级节点

2020-07-17 通过递归获取节点的所有父级节点

作者: 山北边的人 | 来源:发表于2020-07-17 17:25 被阅读0次

    以下是查找所有父级节点的方法

       getParentIds2(data, orgCode) {
          var ids = []
          const loop = function(json) {
            for (var obj of json) {
              if (obj.children !== undefined) {
                if (JSON.stringify(obj).match(orgCode)) {
                  ids.push(obj.orgCode)
                }
                if (obj.orgCode !== orgCode) {
                  loop(obj.children)
                } else {
                  break
                }
              }
            }
          }
          loop(data)
          return ids
        }
    

    还可以做一些修改,如:通过type来修改节点的属性

        getParentIds2 (data, id, type) {
          var ids = []
          let loop = function (json) {
            for (var obj of json) {
              if (obj.children) {
                if (JSON.stringify(obj).match(id)) {
                  if (type === 0) {
                    obj.color = '1'
                  }
                  ids.push(obj)
                }
                if (obj.id !== id) {
                  loop(obj.children)
                } else {
                  break
                }
              }
            }
          }
          loop(data)
          return ids
        },
    

    相关文章

      网友评论

          本文标题:2020-07-17 通过递归获取节点的所有父级节点

          本文链接:https://www.haomeiwen.com/subject/jfqnhktx.html