JS實現根據物件之間的id以及pid構建目錄樹
阿新 • • 發佈:2018-11-22
1.遍歷得到頂層節點
var resultObj = []
function fn(jsonData) {
//取得頂級的資料
var baseNode = jsonData.filter(function(element) {
return element.pid === 0
})
resultObj.push(...baseNode)
getChildren(resultObj, jsonData)
}
2.遞迴取得頂層節點的子節點
function getChildren(nodeList, jsonData) { nodeList.forEach(function(elemet, index) { elemet.childrenNode = jsonData.filter(function(item, indexI) { return item.pid === elemet.id }) if(elemet.childrenNode.length > 0) { getChildren(elemet.childrenNode, jsonData) } }) }