평면 배열에서 트리 배열 만들기 - 재귀
3072 단어 noderecursionjavascriptwebdev
내가 서버에서 얻은 데이터는 평평했습니다. 즉, 다음을 의미합니다.
배열의 모든 항목은 다음과 같이 부모에 대한 참조를 보유합니다.
const entries = [
{
index: 1,
parent: 0
},
{
index: 2,
parent: 1
},
{
index: 3,
parent: 2
},
...
...
];
이 문제를 "공격"하는 방법을 생각한 후 깨달았습니다.
재귀 개체를 원하는 경우 가장 쉬운 솔루션은 재귀 개체입니다.
플랫 배열을 트리 배열로 변환하는 함수는 다음과 같습니다.
const arrayToTree = (arr, parent = 0) =>
arr.filter(item => item.parent === parent)
.map(child => ({ ...child, children: arrayToTree(arr,
child.index) }));
요약:
root parent
의 하위 항목을 필터링합니다. 스택 오버플로에 대한 질문에 대한 나의 대답
솔루션의 데이터를 더 많이 사용하려는 경우 다음은 코드펜입니다.
저에게 도움이 된 출처:
Reference
이 문제에 관하여(평면 배열에서 트리 배열 만들기 - 재귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/danielbellmas/build-a-tree-array-from-a-flat-array-recursion-32jn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)