gpt4 book ai didi

angular - 如何根据值以 Angular 过滤 Observable 数组

转载 作者:行者123 更新时间:2023-12-05 01:59:32 24 4
gpt4 key购买 nike

我请求一个网络服务并接收一个可观察对象并循环它们以构建另一个对象数组,如下所示。

export interface Seller {
email?:String;
isOnline?:boolean;
name?:String;
}

Angular 分量:

sellers: Observable<Seller[]>;

constructor(firestore: AngularFirestore) {
this.sellers = firestore.collection('sellers').valueChanges();
}

getSllers(){
return this.sellers;
}

使用这些卖家 Observable im 创建一个对象数组。

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 的卖家。我拥有的片段似乎不起作用。什么是最好的方法?

最佳答案

getSellerDetails() {
return this.getSllers().pipe(
// Filter only sellers that isOnline
map(sellers => sellers.filter(seller => seller.isOnline == true)),
// Map all filtered sellers to the wanted interface
map(sellers => {
return sellers.map(seller => {
return {
name: seller.name,
isOnline: seller.isOnline,
email: seller.email
}
});
})
)
}

关于angular - 如何根据值以 Angular 过滤 Observable 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67778590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com