Angular 如何在rxjs过滤器操作符中迭代子类别

Angular 如何在rxjs过滤器操作符中迭代子类别,angular,database,typescript,api,rxjs,Angular,Database,Typescript,Api,Rxjs,我在我的ionic应用程序中实现了一个排序功能,它从API接收信息。数据库包含有关单个凭单的信息。结构如下图所示: 要过滤这些凭证的结果,我想使用get_categories下的'name'子类别及其相应的索引号(因为需要支持多个类别)-在本例中为“Tester”。我使用filter rxjs操作符来过滤结果 this.filteredList = from(this.vouchers) .pipe(filter(item => item.get_categories.?

我在我的ionic应用程序中实现了一个排序功能,它从API接收信息。数据库包含有关单个凭单的信息。结构如下图所示:

要过滤这些凭证的结果,我想使用get_categories下的'name'子类别及其相应的索引号(因为需要支持多个类别)-在本例中为“Tester”。我使用filter rxjs操作符来过滤结果

    this.filteredList = from(this.vouchers)
    .pipe(filter(item => item.get_categories.?? === this.category),toArray())

如何从filter操作符中访问类别名称,以便将其与所选类别进行比较?

您可以这样使用filter

this.filteredList = from(this.vouchers)
    .pipe(filter(item => item.get_categories.filter(x => x.name === this.category)),toArray())

但是您应该注意,get\u categories不能为空。

您可以像这样使用过滤器

this.filteredList = from(this.vouchers)
    .pipe(filter(item => item.get_categories.filter(x => x.name === this.category)),toArray())

但是您应该注意,get\u categories不会为空。

我尝试过这个方法,但当我尝试排序时,它没有任何作用(没有隐藏凭证)。我知道,当我尝试使用类似
filter(item=>item.name==this.category)
这样的简单工具时,过滤确实可以正常工作,因此,由于某种原因,此解决方案中的第二个过滤函数似乎总是在传递。出于安全目的,我已替换了实际的API链接。StackBlitz有错误。导入错误,找不到文件:../pages/tabs/tabs:|我似乎无法让stackblitz在粘贴此特定页面的html/ts时显示任何内容而不出错。我应该试着上传整个项目吗?即使如此,如果没有API,它也无法完全发挥功能。您是否有任何潜在的原因可以考虑,否则这将不起作用?我在控制台中没有收到任何错误或警告。您的意思是您得到了筛选结果,但排序不起作用,对吗?我尝试了此操作,但当我尝试排序时,它没有任何作用(没有隐藏凭证)。我知道,当我尝试使用类似
filter(item=>item.name==this.category)
这样的简单工具时,过滤确实可以正常工作,因此,由于某种原因,此解决方案中的第二个过滤函数似乎总是在传递。出于安全目的,我已替换了实际的API链接。StackBlitz有错误。导入错误,找不到文件:../pages/tabs/tabs:|我似乎无法让stackblitz在粘贴此特定页面的html/ts时显示任何内容而不出错。我应该试着上传整个项目吗?即使如此,如果没有API,它也无法完全发挥功能。您是否有任何潜在的原因可以考虑,否则这将不起作用?我在控制台中没有收到任何错误或警告。您的意思是您得到了筛选结果,但排序不起作用,对吗?