У меня есть следующий объект
const object = {
id: "1",
name: "a",
children: [
{
id: "2",
name: "b",
children: [
{
id: "3",
name: "c"
}
]
},
{
id: "4",
name: "d"
}
]
};
Мне нужна функция, которая принимает объект и идентификатор последнего потомка и возвращает путь, например, следующий вызов: getPath(object, '3');
должен вернуть [{id: 1}, {id: 2}, {id: 3}] .
Я создал функцию, но могу получить доступ только к первому родителю.
function getPath(model, id, parent) {
if (model == null) {
return;
}
if (model.id === id) {
console.log(model.id, parent.id)
}
if (model.children) {
model.children.forEach(child => getPath(child, id, model));
}
}
PS: объект имеет неизвестную глубину.