1

このような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;
                    }
                }

デバッグ中に条件が満たされていることを確認した場合でも、これは現在カテゴリを返しません。

私が見逃しているばかげた何かがあることを私は知っています。しかし、それを指摘するには他の目が必要です。

4

1 に答える 1

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;
                }
            }
于 2013-09-10T10:12:29.737 に答える