배열을 반전하고 첫 번째 위치로 밀 때 속도가 느리기 때문에 가장 깊은 항목을 먼저 반환하는 재귀 함수가 필요합니다. 마지막으로 부모가 먼저되도록 재귀 함수에서 마지막 항목을 먼저 반환하십시오.
function findParents(myObject, parents = []) {
if (myObject.parent) {
parents.push(myObject.parent.id);
return findParents(myObject.parent, parents);
}
return parents; // [2, 1]
}
내가 나에게 객체 부모의 ID의 배열을 반환하는 재귀 함수가 필요합니다
const myObject = {
id: 3,
parent: {
id: 2,
parent: {
id: 1,
parent: null,
},
},
};
그리고 재귀 함수 :
나는 개체가 반환되는 배열 내 함수에 해당 개체에 전달하면 위의 예를 들어 그래서,이 같은 부모의 id의를 반환해야합니다 :
[1, 2]
당신은 여전히 적절한 총 소유 비용 (TCO)을 할 수있는 기능이 필요하십니까? –
왜 그냥 배열을 팝하지? – mplungjan
배열에 정상적인 순서를 푸는 알고리즘이 있다면'array.push' 대신에'array.unshift' 만 쓸 수 있습니다. 이동하지 않으면 앞으로 이동합니다. – TKoL