如何在Angular 6中映射数据定义数组和原始数据数组

时间:2018-08-31 01:36:31

标签: angular angular6 angular-pipe

假设我有这两个数组

languages : [{langId: 8, text: "Australia"}, {langId: 3, text: "English"}, {langId: 6, text: "English (UK)"}]

productText : [{langId:8, productName: "Product Name AU"}, {langId:3, productName: "Product Name EN"}, {langId:6, productName: "Product Name UK"} ]

在渲染时,我想将langId从productText映射到语言(文本)


结果应如下所示

LangID |语言名称|产品名称
8:澳大利亚:产品名称AU
3:英文:产品名称EN
6:英文(英国):产品名称英国

如何在模板中执行这种映射。

非常感谢

1 个答案:

答案 0 :(得分:0)

我仍然不确定100%是否完全了解您。 但是,假设保留顺序(意味着两个数组的长度相同,并且langId顺序相同),那么您可以像下面这样在模板上进行纯操作:

<ul>
  <li *ngFor="let lang of languages;let i = index;">
    {{lang.langId}} : {{lang.text}} : {{productText[i].productName}}
  </li>
</ul>

如果数组的顺序不同,则必须在表文件中做一些逻辑(据我所知)