过滤可观察的值

时间:2016-09-07 17:36:26

标签: angular typescript reactive-programming

我有一个简单的函数,可以调用我的firebase数据库来获取项目列表。我正在寻找一种通过location.liked === true过滤这些项目的简单方法。但是,我还没有能够使用传统的滤镜阵列方法来实现这一目标。你们中的任何人都知道如何做到这一点吗?

this.locations = af.database.list('/trips')
  .map((locations) => {
    return locations.map((location) => {
      location.liked = af.database.object(`/likes/${this.uid}/${location.$key}`);
      return location;
    })
  });

我最初的方法是使用以下逻辑

this.filteredResult = locations.map((locations) => {
 return locations.filter((location) => {
  return location.liked
 })
})

然而,这给了我任何[]无法过滤的错误

1 个答案:

答案 0 :(得分:0)

你有没有试过这样的事情:

this.locations = af.database.list('/trips').filter((location) => {
    return location.liked === true;
});   

检查此示例:

https://plnkr.co/edit/U9p7LHFsYIXeFiJkIiRs?p=preview