美文网首页
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