1. 程式人生 > >日常開發記錄打卡系列--JSON樹狀資料處理

日常開發記錄打卡系列--JSON樹狀資料處理

 

寫部落格頻率有點低了呀

由於工作 沒什麼時間研究太多幹貨

很多都是在工作中直接研究實現,就忘記寫部落格記錄了

           

不過偶爾抽點時間寫寫記錄一下也不錯,雖然問題基本都能解決

但是希望能在其他兄弟們遇到問題的時候 能找到關鍵字,並解決

所以今天起開一個日常開發系列

 

今天主要講的是後臺根據傳入ID和parentID來判斷子父級的JSON資料

然而實際運用的時候,。我們希望返回的其實是這種格式

當然這種是博主處理過後的。

後臺的大哥們要偷懶 前端的只能苦逼處理了吧。其實如果後臺能處理當然是最好的。

畢竟客戶端的響應速度影響使用者體驗嘛

不抱怨 自己動手敲

function getTree(data,father){
    var itemArr=[];
    for(var i=0;i<data.length;i++){
        var node=data[i];
        if(node.parentId==father ){
            var newNode={id:node.id,name:node.name,children:getTree(data,node.id)};
            itemArr.push(newNode);
        }
    }
    return itemArr;
}

 這時候遞迴就是那麼好用,目前後臺所返回的是一級的樹狀資料,但是即使返回多級也不慌,

getTree(data,parentId)

 data:傳入JSON資料

 father 傳入最外層父級的ID

 

node.parentId==father 只要滿足就會一直套下去

father傳入為空也可以  就會預設為空即是最外層的父級

newNode物件裡的資料大家可以根據自己需要的加 或者改引數。輕鬆解決嚕

 


                         幫到你的話 的點個贊是對本系列最大的支援!

                                                                        我叫Daniel  還沒有用洗面奶洗頭的開發