扁平陣列和樹形結構的相互轉換

2021-09-24 06:16:55 字數 926 閱讀 2763

扁平陣列轉換為樹形結構

var arr =[,

,]

function

listtotree

(list)

, node, tree=

, i;

for(i =

0; i < list.length; i ++

)for

(i =

0; i < list.length; i +=1)

else

}return tree;

}listtotree

(arr)

;//[,]}]

但是專案中有個需求,在後台沒有返回給帶層級資訊level的時候,需要用到層級資訊,這樣轉換沒法計算出層級,因此就需要用迭代的方法了,預設根節點層級為0,依次遞增:

function

listtotreewithlevel

(list, parent, level)

out.

push

(node)}}

return out

}listtotreewithlevel

(arr,

'-1',0

)//[,],"level":0}]

樹形結構轉換為扁平陣列

function

treetolist

(tree)

out.

push

(first);}

return out;

}var tree =[,

]}];

treetolist

(tree)

//[,,]

陣列和集合的相互轉換

陣列和集合的相互轉換 陣列轉集合 string a list list arrays.aslist a 唯讀不可寫 system.out.println list arraylist list1 newarraylist list 可讀可寫 list1.add ddd system.out.prin...

樹形結構的資料與一維陣列資料的相互轉換

在我們做專案時,我們有時需要樹形結構的資料進行資料的樹形層級展示,或者需要把返回的資料結構資料進行拆解成單層陣列形式。下面我們就來總結下這兩種方法。陣列轉樹形結構 var data 陣列轉樹形結構資料 原理即為通過設定id為key值,再通過pid去找這個key是否一樣,一樣則為這資料的子級資料 fu...

樹形結構的資料與一維陣列資料的相互轉換

陣列轉樹形結構 var data 陣列轉樹形結構資料 原理即為通過設定id為key值,再通過pid去找這個key是否一樣,一樣則為這資料的子級資料 function arraytojson treearray for var i 0,l treearray.length i console.log ...