How to iterate through an Object attributes in Angular 2 How to iterate through an Object attributes in Angular 2 angular angular

How to iterate through an Object attributes in Angular 2


You could do something like this:

<li *ngFor="let o of obj">   <p *ngFor="let objArrayElement of generateArray(o)"> {{objArrayElement}} </p></li>

where generateArray looks like:

generateArray(obj){   return Object.keys(obj).map((key)=>{ return obj[key]});}


slight modification to @eg16's answer and it worked like a charm for me -

the generateArray function looks like this-

generateArray(obj){    return Object.keys(obj).map((key)=>{ return {key:key, value:obj[key]}});}

and the template -

<li *ngFor="let item of generateArray(data)">{{item.key}}: {{item.value}}</li>


Starting with version 6.1, a KeyValue Pipe is made available by Angular:

<li *ngFor="let item of (data | keyvalue)">{{item.key}}: {{item.value}}</li>

This makes previous workarounds using Object.keys references or own implementations thereof obsolete.