【发布时间】:2020-04-10 07:48:48
【问题描述】:
我在 TypeScript 中有一组对象。每个对象都有一个名为getSubObjects 的方法,它返回包含相同方法getSubObjects 的相同类型对象的集合。我的要求是
- 必须遍历调用集合中每个对象的
getSubObjects的原始集合。 - 对于每个返回的对象,再次调用
getSubObjects。 - 继续处理每个返回的对象,直到没有对象为止
所以在我的循环中,我想做如下的事情
objCol.forEach(item => {
const col = item.getSubObjects();
if(col){
objCol.pushRange(col)
}
});
我认为这在 TypeScript 中是不可能的,我能想到的唯一选择是诉诸递归,但如果有其他方法可以做到这一点,我宁愿避免使用它。
【问题讨论】:
-
递归是你的朋友。然而,有很多库提供扁平化实用程序。 ramda 和 lodash 仅举两个例子。