angular - 如何在 Html angular5 中连接两个数组
问题描述
我有两个数组,一个是City,另一个是Zipcode
cities=[{name:"aaa"},{name:"bbb"},{name:"ccc"},{name:"ddd"}]
zipcode=[{num:"111"},{num:"222"},{num:"333"},{num:"444"}]
如何连接两个数组。如果我使用两个forloops,那么城市和邮政编码就变成了两倍。谁能帮助我期待这样的输出 aaa-111 bbb-222 ccc-333 ddd-444
但我没有得到预期的结果。我试过这个。 数据stackblitz的链接数组
解决方案
像这样更改您的html
<li *ngFor="let x of cities;let i=index">
<div class="form-group" (click)="City(x)">
<label>{{x.name}}-{{zipcode[i].num}}</label>
</div>
</li>
使用城市数组的索引来定位相应的邮政编码数组的元素。但要使其正常工作,您需要确保 2 个数组具有相同的长度并且具有相同的索引来引用两个数组中的相同值
查看更新的 stackblitz
或者
您可以使用map在 ngOnInit 方法中组合 2 个数组,如下所示。
ngOnInit () {
this.cities.map((x:any, i) => x.num = this.zipcode[i].num);
}
然后在html中使用
<div class="form-group" (click)="City(x)">
<label>{{x.name}}-{{x.num}}</label>
</div>
推荐阅读
- ruby-on-rails - 文件字段在更新时具有空值
- java - How to add correlation ID to the java program?
- vb.net - 如何防止函数完成
- hyperledger-fabric - Hyperledger Fabric : Impact on transaction when we migrate Orderer
- javascript - In Puppeteer how to switch to chrome window from default profile to desired profile
- android - How to show image in the place of creating message in androidX..?
- html - How to make 4 columns in bootstrap grid break to two then one column
- excel - Excel VBA button. Copy rows from Sheet1 to Sheet2 / Condition: column value
- google-maps - GoogleMaps "Sorry, we have no imagery here" in InternetExplorer 11
- python - Python DictWriter 无法正确写入 lineterminator 作为 '\r\n'