如何根据 service.ts 上的报告 categoryID 参数制作函数 return 报告?

How to make function return reports based on report categoryID Paramter on service.ts?

我在开发 angular 7 个应用我需要 return 基于报告类别 ID

来自 allReportsubCategory 的数据

但我面临如何根据 reportcategoryID return 来自 allReportsubCategory 的数据的问题。

so 如何根据 ReportCategoryID 编写函数 return 报告?

allReportsubCategory:any[];
this.allReportsubCategory =[
    {
        "reportID": 1,
        "reportName": "xxx",
        "reportIndex": 1,
        "reportCategoryID": 3,

    },
    {
        "reportID": 17,
        "reportName": "Jobs Monitor",
        "reportIndex": 1,
        "reportCategoryID": 3
    },
    {
        "reportID": 2025,
        "reportName": "Old Tables Report",
        "reportIndex": 1,
        "reportCategoryID": 3

    }];

在 service.ts

 GetreportByCategoryId(reportCategoryID:string){
    return this.allReportsubCategory.??????

  }

所以我需要将 3 传递给函数 GetreportByCategoryId(reportcategoryID) return 以上所有数据基于 报告类别 ID= 3

已更新post

在如下组件上调用时

reportByCategoryId:any[]
 this.reportByCategoryId = this._displayreport.GetreportByCategoryId("3");
  console.log("data by category id" + this.reportByCategoryId )

没有 return 以上数据和控制台日志如下:

分类数据未定义

要按某些条件过滤数组中的值,您可以使用 filter method。此外,由于提供的数据中的 reportCategoryID 具有数字类型,因此您需要在此方法中使用 number 类型。

GetreportByCategoryId(id: number) {
  return this.allReportsubCategory
    .filter(category => category.reportCategoryID === id);
}