我有如下定义的模式:
ConditionInterface: Interface {
getId(): string;
}
class FilterCompositeModel {
condition: MultiConditionModel;
/**
* Add a condition to a multiCondition
*
* @param {ConditionInterface} toAddCondition
* @param {MultiConditionModel} parentCondition
*/
public addCondition(toAddCondition: ConditionInterface, parentCondition:
MultiConditionModel): void {
// Find parentCondition and add toAddCondition to it
}
}
class MultiConditionModel implements ConditionInterface {
id: string;
elements: ConditionInterface[];
getId(): string {
return this.id;
}
}
class SingleConditionModel implements ConditionInterface {
id: string;
getId(): string {
return this.id;
}
}
如果我们将其视为树的表示形式,则ConditionInterface是叶或节点。我的研究指出,只有搜索那些对我没有帮助的节点的人。
我如何实现addCondition
作为递归函数来搜索所有子节点?我不知道该怎么做。