组织架构的一些常用方法

送分小仙女□ 提交于 2019-12-10 11:00:26

根据子元素的id获取所有父级的guid

// 逆序,获取当前部门的所有父元素的guid
function getParentsId(arr, PK_Guid) {
    var idArr = [];
    var fns = function(arr, PK_Guid){
        for (item of arr) {
            if (item.PK_Guid == PK_Guid) {
                idArr.push(item.PK_Guid);
                break;
            }
            if (item.ChildNode && JSON.stringify(item.ChildNode).match(PK_Guid)) {
                idArr.push(item.PK_Guid);
            }
            if (item.ChildNode) {
                fns(item.ChildNode, PK_Guid);
            }
                    
        }
    }
    fns(arr, PK_Guid, arr[0])
    return idArr;
}

数据结构:

var data = [{
	PK_Guid:'1a',
	name:'1',
	ChildNode:[
        {PK_Guid:'11b',name:'11'},
		{PK_Guid:'12b',name:'12',
		ChildNode:[
			{PK_Guid:'121c',name:'121',
			ChildNode:[
				{PK_Guid:'1211d',name:'1211'},
				{PK_Guid:'1222d',name:'1222'},
			]
			},
			{PK_Guid:'122c',name:'122'},
		]
		},
		{PK_Guid:'13b',name:'13'},
	]
}]

 运行结果:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!