/**
* 递归将数据组织成Tree结构
*
* @param targetData 目标数据
* @param list 数据列表(平展的数据,不同层级都在一个集合中),从这个集合分拣属于自己的数据填充。
* @param trackList (未实现,只是思路)跟踪列表,这个集合主要是标识路径数据,用于判断是否有子级引用父级的数据,从而导致无限循环的情况。
*/
function deepJoinTree(targetData,list,trackList){
console.log("deepJoinTree",targetData,list,trackList)
trackList = trackList || [targetData]
let id = targetData.id;
let children = list.filter(v2=>v2.pid===id)
targetData['children'] = children
children.forEach(v => {
deepJoinTree(v,list,trackList.concat([v]))
})
}