遞歸函數 將鏈式結構改成 樹結構 (無限級遍歷)

最近 爬蟲爬出的鏈式結構 要改成樹狀結構    簡單幾句代碼 竟然一開始沒想到 有點尷尬 ....

var arr = [
    {
        "node_id": 1,
        "parent_id": 0,
        "name": "111"
    },
    {
        "node_id": 2,
        "parent_id": 1,
        "name": "222"
    },
    {
        "node_id": 3,
        "parent_id": 1,
        "name": "333"
    },
    {
        "node_id": 4,
        "parent_id": 2,
        "name": "444"
    },
];

/* 
  arr  數組
  node_id  ID 
  parent_id  父ID   父ID爲0表示根節點
*/
function myfun (arr , node_id){
   let array = []; 
   arr.forEach (function (item,index) {
   if(item.parent_id == node_id){
   	   item["child"] = myfun(arr,item["node_id"]);
   	   array.push(item);
     }
   })
   return array;
}

console.log(myfun(arr,0));

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章