귀속, 일반 수조를 나무 구조로 변환
7076 단어 tree结构
귀속, 일반 수조를 나무 구조로 변환
많은 경우 우리가 필요로 하는 데이터는 모두 트리 구조 데이터이지만, 모든 데이터가 우리가 원하는 것이 아니기 때문에 우리가 봉인 함수를 처리해야 한다 //
parseArrayToTree(array) {
let tree = [];
let root = this.getRootObj(array);
debugger;
if (root) {
tree.push(root);
this.setChild(root, array);
}
console.log(tree);
return tree;
},
//
getRootObj(array) {
let root = null;
if (array) {
array.forEach(function (item, index, arr) {
if (item.parentId == -1) {// id -1
root = item;
}
})
}
return root;
},
//
setChild(root, array) {
let temp = this;
array.forEach(function (item, index, arr) {
if (item.parentId === root.specId) {
if (root.child) {
root.child.push(item);
} else {
root.child = [];
root.child.push(item);
}
temp.setChild(item, array)
}
})
},
호출 방법let treeValue = parseArrayToTree(tree)
이상은 저의 개인적인 축적입니다. 여러분과 함께 토론하고 소통하는 것을 환영합니다.
//
parseArrayToTree(array) {
let tree = [];
let root = this.getRootObj(array);
debugger;
if (root) {
tree.push(root);
this.setChild(root, array);
}
console.log(tree);
return tree;
},
//
getRootObj(array) {
let root = null;
if (array) {
array.forEach(function (item, index, arr) {
if (item.parentId == -1) {// id -1
root = item;
}
})
}
return root;
},
//
setChild(root, array) {
let temp = this;
array.forEach(function (item, index, arr) {
if (item.parentId === root.specId) {
if (root.child) {
root.child.push(item);
} else {
root.child = [];
root.child.push(item);
}
temp.setChild(item, array)
}
})
},
let treeValue = parseArrayToTree(tree)