Rxjs获得数组属性值的不同值(Rxjs get distinct values of proper

2019-09-27 07:37发布

我试图获得可观察到的数组的属性的不同的值。

  let pt$ = Observable.of([{planTypeID : 1, description : 'test 1'}, 
                                {planTypeID : 2, description : 'test 2'}]);
    let planTypeIDs$ = pt$
        .flatMap(a => a)
        .map(a => a.planTypeID).distinct().toArray();

这是做在rxjs正确的方式,还是有更好的办法?

Answer 1:

  1. 你可以使用.from代替.of ,应该宽恕你.flatMap
  2. distinct将检查默认的基准,所以如果你想比较的内容,你应该建立某种散列或进行自定义比较-但也许我们在这里不会需要。

let pt$ = Observable.from([{planTypeID : 1, description : 'test 1'}, 
                            {planTypeID : 2, description : 'test 2'}]);
let planTypeIDs$ = pt$
    .map(a => a.planTypeID)
    .distinct()
    .toArray();


文章来源: Rxjs get distinct values of property value in array
标签: angular rxjs