JavaScript의 평면 JSON 배열에서 계층적 트리 데이터 구조 구축
복잡한 JSON 데이터와 관련된 시나리오에서는 데이터를 계층적으로 구성하는 것이 필수적입니다. 특히 나무와 같은 구조를 표현하는 데 적합합니다. 이 문서에서는 JavaScript에서 일반 JSON 배열을 계층적 트리로 변환하는 방법을 다룹니다.
문제
세 가지 주요 속성을 가진 객체로 구성된 평면 JSON 배열이 제공됩니다.
이 작업은 이 평면 배열을 계층적 트리 구조로 변환하는 것입니다. 각 상위 노드는 하위 노드를 캡슐화합니다. 노드.
솔루션
효율적인 접근 방식은 지도 조회 알고리즘을 활용하여 트리를 구축하는 것입니다. 알고리즘은 평면 배열을 두 번 반복합니다.
구현
다음 JavaScript 코드 조각은 트리 구현을 보여줍니다. 건물 알고리즘:
function list_to_tree(list) { var map = {}, node, roots = [], i; for (i = 0; i < list.length; i += 1) { map[list[i].id] = i; // initialize the map list[i].children = []; // initialize the children } for (i = 0; i < list.length; i += 1) { node = list[i]; if (node.parentId !== "0") { // handle dangling branches here list[map[node.parentId]].children.push(node); } else { roots.push(node); } } return roots; }
사용법
단순한 JSON 배열을 계층적 트리 구조로 변환하려면:
var entries = [ // ... entries as in the provided example ]; var tree = list_to_tree(entries); // The resulting `tree` is the hierarchical data structure
결론
이 글에서 제시한 알고리즘은 플랫 JSON을 효과적으로 변환합니다. JavaScript의 계층적 트리 구조로 배열됩니다. 효율적인 구성을 위해 지도 조회 접근 방식을 사용하므로 복잡한 데이터 세트를 처리하는 데 적합합니다.
위 내용은 JavaScript에서 평면 JSON 배열을 계층적 트리 구조로 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!