網上看了下獲取樹形結構資料的方法有很多種,
我這種我個人感覺相對簡單和方便點,
下面我就先貼出需求 :
// 後端需要返回的結果
let menuobj=}}
,'孫類2':,
'孫類3':,
'孫類4':,
'孫類5':}
,'子類2':,
'孫類2':,
'孫類3':,
'孫類4':}
,'子類3':,
'豬八戒':}
},'a2'
:'bbb'
,'a3'
:'bbb'
,'a4'
:'bbb'},
'屬性2'
:'aaa'
,'屬性3'
:'aaa'
,'屬性4'
:'aaa'
,}
只要資料存在父子關係,很容易就會想起遞迴 ,對。但是要巧妙地運用遞迴,下面我就貼上**:
/**
*@author luoluo
*@description 獲取樹形結構資料
*@date 9:51 2019/9/25
*@param
*@return commonresult
***/
("getlabletree"
)public commonresult getlabletree()
//先獲取主要的屬性類 就是 menuobj 屬性1 屬性2 屬性3 屬性4
list listdata =
this
.labelservice.
getparentmainlable()
;//linkedhashmap 有序 保證和資料庫查出來的順序一樣
map mapdata =
newlinkedhashmap
<
>()
;for
(string label:listdata)
return commonresult.
success
(mapdata);}
/** *@author luoluo
*@description 根據標籤值遞迴獲取下級 拼接 json
*@date 10:50 2019/9/25
*@param label
*@return map
***/
public map
getmapdata
(string label)
}return map;
}
個人感覺這個方法還是相對簡單點
建議:如果資料量比較大,建議加入快取
弊端:一次性獲取全部資料,資料量很大的時候載入慢 但是資料量相對少點的時候很方便 不需要非同步載入獲取資料
如果對以上**有建議和疑問歡迎新增博主
qq 1136032715
感謝支援!!
資料結構 樹形結構
樹是一種表達資料之間層次關係的資料結構,樹中的每個節點有0個或者多個子節點,但只有乙個父節點,父節點為空的節點為根節點,一棵樹只有乙個根節點。樹結構的相關概念 數的度 乙個節點含有的子樹的個數成為該節點的度,一顆樹中最大的節點的度成為整顆數的度 葉節點 度為0的節點成為葉節點 根節點 沒有父節點的節...
樹形結構資料渲染
我們有時候在專案開發中可能會遇到說給了你乙個介面,讓你渲染出乙個樹形結構。那麼這樣的該怎麼做呢?首先我們既然要渲染樹形,他給你的介面肯定是多維的。何為多維呢?就是一層一層巢狀的。那麼既然有了介面,我們寫 的思路多元化一點的話,就可以想到可以用遞迴,也可以用陣列方法把它轉化成一維陣列進行渲染。簡單思路...
在PB中快速實現資料庫樹形結構
樹形結構在windows環境中被普遍應用,它以簡捷的介面深受使用者喜愛。但在資料庫開發中面對層次多 結構複雜的資料,如何快速地構造樹形目錄呢?實現關鍵技術 在powerbuilder所提供的控制項中包含了treeview控制項,但樹的具體形成還需使用者編寫指令碼實現,即它的列表項要在程式中動態新增,...