【发布时间】:2021-08-19 01:06:57
【问题描述】:
我正在请求一个 Web 服务并接收一个 observable 并循环它们以构建另一个对象数组,如下所示。
export interface Seller {
email?:String;
isOnline?:boolean;
name?:String;
}
角度组件:
sellers: Observable<Seller[]>;
constructor(firestore: AngularFirestore) {
this.sellers = firestore.collection('sellers').valueChanges();
}
getSllers(){
return this.sellers;
}
使用这些卖家 Observable 即时创建对象数组。
getSellerDetails() {
return this.getSllers().pipe(
map(sellers => {
sellers.filter(seller => seller.isOnline == true)
return sellers.map(seller => {
return {
name: seller.name,
isOnline: seller.isOnline,
email: seller.email
}
});
}));
}
在这里我想过滤掉只有isOnline true 的卖家。 sn-p im 似乎不起作用。最好的方法是什么?
【问题讨论】:
-
您的地图回调有误。您没有对卖家调用的
Array.filter方法返回的数组做任何事情。 -
你能回答一下吗
-
是
selleers=sellers.filter(seller => seller.isOnline == true)- 数组的过滤器返回一个新的数组但不改变原来的数组- -
@Eliseo 你能回答吗?
标签: angular filter rxjs observable