在我們做專案時,我們有時需要樹形結構的資料進行資料的樹形層級展示,或者需要把返回的資料結構資料進行拆解成單層陣列形式。下面我們就來總結下這兩種方法。
陣列轉樹形結構:
var data = [,,
,,,,
,];// 陣列轉樹形結構資料(原理即為通過設定id為key值,再通過pid去找這個key是否一樣,一樣則為這資料的子級資料)
function arraytojson(treearray);
for (var i=0, l=treearray.length; ivar jsonarr = [, , , ]
}, ]
}, , ]
}, , ]
}]// 樹形結構資料轉單層陣列形式
function jsontoarray(nodes)
} return r;
}為了不破壞原資料,我們需要對操作的資料進行深拷貝:
// 深拷貝
function deepcopy(obj)
return object
}// 深度複製物件
if(object.prototype.tostring.call(obj)=="[object object]");
for(var p in obj)
return object}}
對兩個方法的呼叫與驗證:
樹形結構的資料與一維陣列資料的相互轉換
陣列轉樹形結構 var data 陣列轉樹形結構資料 原理即為通過設定id為key值,再通過pid去找這個key是否一樣,一樣則為這資料的子級資料 function arraytojson treearray for var i 0,l treearray.length i console.log ...
把有層級的一維陣列改為樹形結構
朋友問的問題,我試著寫了一下。用了兩層遞迴,感覺很麻煩。doctype html html lang en head meta charset utf 8 title document title head body body html script type text j ascript let ...
JavaScript之樹形結構的資料 一
在前端js程式設計中,經常需要在前端頁面顯示組織機構之類的樹形結構資料,下面的 可以組成乙個樹形結構的資料。現成的樹形結構資料如下 const data const device const alarminput function tree parent,children o.key parent ...