首页 > 解决方案 > ANGULAR 5:带有字符串数组的 translate.get 返回键和值,而不仅仅是值

问题描述

我使用 Angular 5,并且我的部分代码使用 ngx-translate 管理机制国际化。

我将解释我的问题的场景,所以我有一个从 Web 服务检索数据并完美显示它们的数据表。我有一个使用 Angular5csv 机制将数据导出到 csv 文件的按钮。我有下面的函数,它给了我必须放在 csv 文件上方的标题,这取决于选择的语言

  getHeader(){
this.translateService.get(['app.lblInvSupNum','app.lblInvTANum',
                           'app.lblDateInv'  ,'app.lblDueDate',
                           'app.lblAmount'  ,'app.lblCurrency',
                           'app.lblStatut'  ,'app.lblBlockCode',                              
                          ])
                      .subscribe((res: any[]) =>{
                        this.header=res; // declaration header: any[];
                        console.log(this.header);

                      })    

}

当我在控制台中显示结果如下

{app.lblInvSupNum: "Supplier Invoice Number", app.lblInvTANum: "Invoice Number", app.lblDateInv: "Invoice date", app.lblDueDate: "Due Date", app.lblAmount: "Amount", …}

我在找什么我想要一个字符串数组传递给 angular5csv。类似的东西

['Supplier Invoice Number','Invoice Number','Invoice Date','Due Date','Amount','Currency','Status','Blockage Code']

谢谢大家。

标签: arraysjsonangularinternationalization

解决方案


您可以将Object.keys函数与 一起使用.map,如下所示:

let result = Object.keys(this.headers).map((key) => this.headers[key])

推荐阅读