zoukankan      html  css  js  c++  java
  • js tree 根据子节点找到所有父节点

    利用深度优先遍历和递归

    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;
     }
    
    
    
  • 相关阅读:
    BGP
    ospf路由认证
    rip路由认证
    php-数组的相关函数及排序算法
    php-多维数组,数组遍历
    php-数组的概念,语法及特点
    php-错误处理
    MySQL性能优化
    JUC多线程03
    JUC多线程01
  • 原文地址:https://www.cnblogs.com/qingmiaokeji/p/13167691.html
Copyright © 2011-2022 走看看