码迷,mamicode.com
首页 > Web开发 > 详细

js tree 根据子节点找到所有父节点

时间:2020-06-20 11:31:13      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:null   dex   ons   cti   tree   push   深度优先遍历   利用   node   

利用深度优先遍历和递归

var acceptUnitNodes = null;//接收单位树形数据
 function  findParentNode(ids){ //ids 是子节点数组
    var parentNodes = [];//所有父节点
 	var forfun = function (id,nodes) {
		for(var i=0;i<nodes.length;i++){
			var currentNode = nodes[i];
			if(currentNode.id == id){
				return currentNode.id;
			}else if(currentNode.children){
				var validNodeId = forfun(id,currentNode.children);
				if(validNodeId&&parentNodes.indexOf(validNodeId)<0){
					parentNodes.push(validNodeId)
				}
				if(validNodeId){
					return currentNode.id;
				}

			}

		}
	}

	$.each(ids,function (i,item) {
		// selectedValues.push(item);
		var validNodeId = forfun(item,acceptUnitNodes);
		if(validNodeId&&parentNodes.indexOf(validNodeId)<0){
			parentNodes.push(validNodeId);
		}
	})

	 console.info(parentNodes);
	


 	return parentNodes;
 }


js tree 根据子节点找到所有父节点

标签:null   dex   ons   cti   tree   push   深度优先遍历   利用   node   

原文地址:https://www.cnblogs.com/qingmiaokeji/p/13167691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!