-1
아래 json 객체에 대한 javascript/jquery에서 재귀 함수가 필요합니다.재귀 함수 다른 키가있는 객체 배열을위한 JavaScript에서
"영향을받는"키는 각 레벨의 리프 노드입니다.
키 "자식"에는 노드에 "영향을 미친"레벨이있을 수 있습니다.
모든 레벨에서 리프 노드 ("영향")를 동일한 레벨의 하위 ("하위") 노드에 병합하려고합니다.
모든 레벨의 하위 노드가 같은 수준의 데이터에도 영향을 미쳤 음을 의미합니다.
입력
{
"Data": [{
"id": 1745,
"name": "Top Parent",
"parentId": null,
"child": [{
"id": 1746,
"name": "Sub Parent- child to Top Parent",
"parentId": 1745,
"child": [{
"id": 1747,
"name": "child to Sub Parent--One ",
"parentId": 1746
},
{
"id": 1748,
"name": "child to Sub Parent--two",
"parentId": 1746,
"child": [{
"id": 1749,
"name": "Child to two",
"parentId": 1748
}],
"impacted": [{
"id": 2471,
"name": "Leaf of two ",
"network": true
}]
}
],
"impacted": [{
"id": 2470,
"name": "Leaf of Sub Parent-1 ",
"network": true
},
{
"id": 2469,
"name": "Leaf of Sub Parent-1",
"network": true
}
]
}],
"impacted": [{
"id": 2468,
"name": "Leaf Of Top Parent",
"network": true
}]
}]
}
예상 출력
{
"Data": [{
"id": 1745,
"name": "Top Parent",
"parentId": null,
"child": [{
"id": 1746,
"name": "Sub Parent- child to Top Parent",
"parentId": 1745,
"child": [{
"id": 1747,
"name": "child to Sub Parent--One ",
"parentId": 1746
},
{
"id": 1748,
"name": "child to Sub Parent--two",
"parentId": 1746,
"child": [{
"id": 1749,
"name": "Child to two",
"parentId": 1748
},
{
"id": 2471,
"name": "Leaf of two ",
"network": true
}
]
},
{
"id": 2470,
"name": "Leaf of Sub Parent-1 ",
"network": true
},
{
"id": 2469,
"name": "Leaf of Sub Parent-1",
"network": true
}
]
},
{
"id": 2468,
"name": "Leaf Of Top Parent",
"network": true
}
]
}]
}
우리는 개체에서 "영향"키를 제거하지 않는 경우에도 그것은 OK입니다. 그러나 "영향을받은"데이터는 같은 수준의 "자식"과 병합되어야합니다.
나는 코드의 주된 문제는 당신이 내부에 재귀 적으로 함수를 호출한다는 것입니다
는 각 코드 라인의 앞에 4 개의 공백을 넣어 귀하의 예제 데이터를 축소하세요 수 :
이 기능을 사용할 수 있을까? –