似乎人们在将一组可观察数据转换为数组的可观察数时遇到麻烦 - 而不是相反。
所以,给定一个可观察的
Observable<Result[]>
我如何从
获得Observable<Result>[] to Observable<Result>[]
问题源于我有一个可观察物品的事实
items$: Observable<Item[]>
带
Item: {
value: number,
...
};
其中value
可以采用离散值,例如
values = [1, 2, 3]
我需要为每个值创建一个observable,因为每个值都提供不同的组件。
所以我继续做了以下的映射
items$.map(items => values.map(value =>
({ value, items: items.filter(item => item.value === value) }))
产生
Observable<{ value: number, items: Item[] }[]>
但是,为了将每个值分配给我的组件,我需要
Observable<{ value: number, items: Item[] }>[]
我如何到达那里?
答案 0 :(得分:1)
代码中的一小部分更改:
values.map(value =>
items$.map(items =>
({ value, items: items.filter(item => item.value === value) })
)
)
map
运算符实际上创建了一个新的observable