element tree 사용
1456 단어 자바 script
let data = [
{
id: '1',
name: 'A',
parentId: '-1'
}, {
id: '2',
name: 'B',
parentId: '-1'
}, {
id: '3',
name: 'C',
parentId: '1'
}, {
id: '4',
name: 'D',
parentId: '1'
}, {
id: '15',
name: 'E',
parentId: '2'
}, {
id: '6',
name: 'F',
parentId: '4'
}, {
id: '7',
name: 'G',
parentId: '3'
}, {
id: '8',
name: 'H',
parentId: '6'
}
];
이제 그 를 element tree 의 구조 로 바 꿔 야 합 니 다.
let tree = [];
let o = {};
initDataStruct();
parse(o, tree);
console.log(tree);
function initDataStruct() {
data.forEach((v) => {
v.children = [];
})
data.forEach((v, i) => {
o[v.parentId] = [];
});
data.forEach((v, i) => {
o[v.parentId].push(v);
});
//
tree = o['-1'];
}
function parse(o, tree) {
for(let i = 0; i < tree.length; i++) {
for(attr in o) {
if(tree[i].id === o[attr][0].parentId) {
tree[i].children = o[attr];
}
}
parse(o, tree[i].children);
}
}
ok,전환 성공!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.