話不多說,直接進入正題~
列表資料中欄位如下:
我們預期的結果:[
,...
]
先說一下實現的思路:[]}
]
1、先把列表資料轉成以id為key,節點本身為value的物件temp;
2、定義空列表treedata,然後遍歷temp物件
2-1、如果當前節點不是頂級節點(parentid不為0),那找到以parentid作為key的節點,並把當前節點push到該節點的children中;
2-2、如果當前節點是頂級節點,只需把該節點push到treedata中,當temp遍歷結束後,treedata就是最後的樹型資料。
具體**:
var temp = {};
var treedata = ;
for(var i=0; i這裡特別說一下有個稍微底層一點的東東,也是該方法實現的關鍵所在。。
大家想一想,逐步跟一下這個過程,在遍歷temp時,假如頂級節點1先被push到了treedata中,而後面又有子節點被新增到了節點1中,那麼這個子節點最後能不能被帶入到treedata中的節點1裡呢?
答案是可以的~
因為節點1本身是個object物件,它指向了乙個記憶體位址,而無論後續節點1怎麼改變,被push到treedata中的節點1都會指向同乙個位址,所以節點1被什麼時候push都沒有關係,最後就是完整的資料。
js資料結構 列表List
列表是一組有序的資料。每個列表中的資料項成為元素。js中的列表,元素可以是任意資料型別。列表中可以儲存多少元素沒有限定,實際使用時,由程式記憶體控制元素數量 不包含任何元素的列表稱為空列表。列表中包含的元素格數稱為列表的length 列表擁有描述元素位置的屬性,有前有後 列表的抽象資料型別並未指明列...
java 組裝樹型結構資料
自己開發遇到的後台組裝的樹結構方法,記錄下來 1 首先資料庫為oracle,使用 start with 語句和union 組裝要查詢資料 select from select equip.equip category id as id,equip.equip category name as nam...
資料結構(承) 樹型結構(一)
樹的定義 具有n n 0 個節點的有限非空集合,且有且只有乙個特定的節點成為根。節點 節點表示樹中的元素,包括資料項及若干指向子樹的分支。節點的度 節點所擁有的子樹的個數稱為該節點的度 degree 樹的度 樹中各節點度的最大值成為樹的度。葉節點 度為0的節點稱為葉節點。分支節點 度不為0的節點成為...