首页 > 解决方案 > 如何过滤 BehaviorSubject 数组

问题描述

我想过滤一个 BehaviorSubject 类型的数组并更新该数组的一个对象属性的值。

public users$: BehaviorSubject<IUser[]> = new BehaviorSubject<IUser[]>([]);

 {
        [key:'id',username:'John'],
        [key:'id',username:'David'],
        [key:'id',username:'Sara']
}
this.breadcrumbs$
            .pipe(
                map(user=> from(user)
                    .pipe(first(x => x.key === key)))
            ).subscribe(res => {
                   const index = this.usersValue.indexOf(res);
                   this.usersValue[index]['username'] = label;
});

我想用rxjs完成它

标签: javascriptangularrxjs

解决方案


试试这个。

this.breadcrumbs$.pipe(
   map(users => users.find(user => user.key === key)))
   .subscribe(res => {
       const index = this.usersValue.indexOf(res);
       this.usersValue[index]['username'] = label;
   });

推荐阅读