2017-08-30 6 views
0

私はこのコードIグループ配列している:私は取得typescriptでreduce array functionを使用すると、配列からitereateする方法はありますか?

let result = this.events.reduce(function(r,a){ r[a.item] = r[a.item] || []; 
     r[a.item].push(a); 
     return r; 
     }, Array()); 
     //this.events.map((event)=>{ console.log(event,'e'); this.items[event.item] = event; console.log('itemssss',this.items)}); 
     this.items = result; 
     console.log(this.items); 

結果がこれです: enter image description here

私はHTMLでこの二つの配列は、現在反復処理するにはどうすればよいです?なにか提案を?

私は最初の配列からそれを表示し、次に2番目の配列のデータを表示したいですか?

答えて

1

あなたが分離配列を維持したい場合:

あなたがそれらの上を2回繰り返すことができます。まず、メインアレイ上と異なるアレイ上には含まれています

<ul> 
    <li *ngFor="let item of items"> 
     <ul> 
      <li *ngFor="let order of item"> 
       <!-- You can access objects properties here --> 
       {{ order.statusName }} // <-- for example 
      <li> 
     </ul> 
    <li> 
</ul> 

その他のソリューション:

あなたはまた、それらにループする前にそれらをマージすることができます:

ので変更this.items = resultからthis.items = this.items.concat(result);

その後、this.itemsを繰り返し処理できます。例:

<ul> 
    <li *ngFor="let item of items"> 
     ... 
     {{ item.statusName }} 
     ... 
    </li> 
</ul> 
関連する問題