js 트리 모양 json으로 귀속, 어떤 노드 아래 모든 하위 노드 획득

문제 설명: json 그룹이 하나 있는데 데이터는 등급 관계가 있습니다. 현재 어떤 노드 아래 또는 한 그룹의 노드의 모든 하위 등급을 얻고 싶습니다.
해결 방법: 귀속 획득 하위 노드 (더 좋은 방법이 있다면 환영합니다)
 var arr2 = [
            {
                "id": "1",
                "title": "1",
                "pid": "-1"
            },
            {
                "id": "2",
                "title": "2",
                "pid": "-1"
            },
            {
                "id": "3",
                "title": "3",
                "pid": "1"
            },
            {
                "id": "4",
                "title": "4",
                "pid": "2"
            },
            {
                "id": "5",
                "title": "5",
                "pid": "4"
            },
            {
                "id": "6",
                "title": "6",
                "pid": "5"
            }
        ]
        $(function () {
            console.log(arr2);
            var query = ["1", "2"];
            var newArr = [];
            debugger
            function finalQuery() {
                console.log("1")
                for (var r = 0; r < query.length; r++) {
                    debugger
                    function fun(id) {
                        debugger
                        for (var i = 0; i < arr2.length; i++) {
                            if (arr2[i].pid == id) {
                                newArr.push(arr2[i]);
                                fun(arr2[i].id);
                            } else {
                                continue;
                            }
                        }
                    }
                    fun(query[r]);
                }
            }
            finalQuery();
            //               ,  query   1 2          
            //    ,   var newArr=Array.from(new Set(arr));         
            console.log(newArr);//   id 1 2      
        })

만약 당신이 무슨 잘못을 발견한다면, 제기하는 것을 환영합니다. 귀속에 대해 정말 잘 모릅니다.

좋은 웹페이지 즐겨찾기