从树中递归生成面包屑

时间:2013-09-10 09:54:32

标签: javascript recursion breadcrumbs

我正在尝试使用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;
                    }
                }

即使在调试时我检查到条件已满足,但目前没有返回任何类别。

我知道有些傻事我不知道。但我需要其他眼睛来指出它。

1 个答案:

答案 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;
                }
            }