У меня есть массив объектов со следующей структурой:
{
Name: "Automotive"
RefCategory: 1,
ChildCategories:[{
Name: "Car"
RefCategory: 2,
ChildCategories: []
},{
Name: "Motorcycle"
RefCategory: 3,
ChildCategories: []
}]
}
Я написал функцию для поиска узла категории по его Ref:
navigateToNode(node: any, RefCategoryToFind: number): any {
if (node.RefCategory == RefCategoryToFind)
return node;
node.ChildCategories.forEach(value => {
if (value.RefCategory == RefCategoryToFind)
return value;
else {
if (value.ChildCategories.length !== 0)
return this.navigateToNode(value, RefCategoryToFind);
}
});
}
Эта функция возвращает ноль, когдаЯ звоню
let x = this.navigateToNode(this.activeCategories[0], 2);
Я вижу, что он достигает return value;
и, таким образом, нашел правильный узел, но возвращает неопределенное значение.