日常開發記錄打卡系列--JSON樹狀資料處理
阿新 • • 發佈:2018-11-11
寫部落格頻率有點低了呀
由於工作 沒什麼時間研究太多幹貨
很多都是在工作中直接研究實現,就忘記寫部落格記錄了
不過偶爾抽點時間寫寫記錄一下也不錯,雖然問題基本都能解決
但是希望能在其他兄弟們遇到問題的時候 能找到關鍵字,並解決
所以今天起開一個日常開發系列
今天主要講的是後臺根據傳入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 還沒有用洗面奶洗頭的開發