我正在尝试使用javascript这样的树结构生成面包屑
category {
Description: string;
Categories: category[];
}
为此我做了以下函数,以递归过滤分支,除了包含符合条件的叶子的分支。
function recursiveFilter(category) {
if (category.Description == CURRENT_CATEGORY_DESCRIPTION) {
return true;
}
else {
category.Categories = category.Categories.filter(function (subcategory) { recursiveFilter(subcategory); });
return subcategory.Categories.length > 0;
}
}
即使在调试时我检查到条件已满足,但目前没有返回任何类别。
我知道有些傻事我不知道。但我需要其他眼睛来指出它。
答案 0 :(得分:0)
最后得到它,因为我向同事解释,我错过了回归
function recursiveFilter(category) {
if (category.Description == CURRENT_CATEGORY_DESCRIPTION) {
return true;
}
else {
category.Categories = category.Categories.filter(function (subcategory) { return recursiveFilter(subcategory); });
return subcategory.Categories.length > 0;
}
}