扁平化数据,先拆树结构为数组,方便一次for循环遍历数组,每个数组元素是一棵树,以自身为根节点
function GetFlatData(arr1) {
arr1=arr1||[];
var array = [];
$.each(arr1, function (i, item) {
array.push(item);
var anathor = GetFlatData(item.children);
$.each(anathor, function (i1, item1) {
array.push(item1);
});
});
return array;
}
deleteNode(data){
var filterarray = $.grep(this.flatdata,function(item){
return item.id ==data.id;
});
}
后台给数据{id,pid},前端拼成一颗树
function getTree(data, Pid) {
let result = []
let temp
for (let i = 0; i < data.length; i++) {
if (data[i].Pid == Pid) {
temp = getTree(data, data[i].Id)
if (temp.length > 0) {
data[i].children = temp
}
result.push(data[i])
}
}
return result
}