可观察对象过滤可观察对象并映射到其他可观察对象:Angular 9

时间:2020-02-22 14:17:05

标签: angular typescript rxjs observable

我有以下示例代码:

    return this.users$
    .pipe(
            map((users: Array<User>) =>
                users.filter((user: User) =>
                    user.profile_id === id && user.isAdmin()
                )
            )
        );

我有这个界面:

export interface DialogSelectList {
    id: string;
    name: string;
}

我想将过滤器的结果映射到 Observable > 代替 Observable <数组<用户>>

1 个答案:

答案 0 :(得分:1)

您可以在同一张地图中进行添加,也可以添加另一张地图

    return this.users$
    .pipe(
            map((users: Array<User>) =>
                users.filter((user: User) =>
                    user.profile_id === id && user.isAdmin()
                )
            ),
            map((users: Array<User>) => users.map(u => ({id: u.profile_id, name: u.name})) 
        );