繁体   English   中英

如何在HTML angular5中链接两个数组

[英]How to linkup two arrays in 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

但是我没有得到预期的结果。 我试过了 数据堆栈的链接数组

像这样更改您的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>

使用citys数组的索引来定位相应的邮政编码数组的元素。 但是,要执行此操作,您需要确保2个数组的长度相同,并且在两个数组中引用相同值的索引相同

查看更新的Stackblitz

要么

您可以使用如下所示的map在ngOnInit方法中组合两个数组。

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>  

由于您已经有了索引,为什么不简单使用zipcode[i].num

像这样:

<div class="admin-page">
  <div class="row">
    <div class="col-md-12">
      <div class="row">
        <div class="co col-md-12">
          <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>
        </div>
      </div>
    </div>
  </div>
</div>

这是供您参考的更新的工作示例StackBlitz

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM