我有一个从firebase集合中观察到的东西,其中包含对象作为流。
我想过滤这些对象,然后将它们映射以添加2个其他属性,但是我无法使其正常工作。
this.firestoreService.colWithIds$('stuff',
ref => ref.orderBy('createdAt', 'desc')
.limit(20))
.pipe(
map((outputArray: any[]) => {
return skills.map(s => {
if (s.user.uid !== this.user.uid && !this.bloomFilterService.test(s.uid)) {
return { ...s, loaded: false, fadeOutState: 'out' };
}
});
})
)
这几乎在那里,但是对于我要过滤掉的那些对象,它仍然返回undefined。
我尝试过滤可观察对象,但是随后我可以进行映射-至于FlatMap,我无法理解文档以及如何实现我要使用的功能
答案 0 :(得分:0)
那是因为您不进行过滤,只是返回undefined。您可能应该这样做:
return skills
.filter(u.user.uid !== this.user.uid && !this.bloomFilterService.test(s.uid))
.map(s => ({ ...s, loaded: false, fadeOutState: 'out' });