Есть два возможных способа сделать это:
1) Перебор массива в родительском компоненте
В этом случае передача массива в качестве ввода может не потребоваться. Это зависит от ваших требований и реализации.
<app-my-component>
<ng-container *ngFor="let value of myVals">
<div>{{value.name}}</div>
<div>{{value.age}}</div>
<div>{{value.address}}</div>
<ng-container>
</app-my-component>
<app-my-component>
<ng-container *ngFor="let value of myDifferentVals">
<div>{{value.company}}</div>
<div>{{value.phone}}</div>
<div>{{value.email}}</div>
</ng-container>
</app-my-component>
2) Перебор массива только в дочернем компоненте.
Компонент, где используется my-component,
<app-my-component [values]="myVals" [keys]=['name','age','address']>
</app-my-component>
<app-my-component [values]="myDifferentVals" [keys]=['company','phone','email']>
</app-my-component>
В my-component,
@listOfKeys: string[] = [];
<div *ngFor="let value of values">
<div *ngFor="let key of keys">
{{value[key]}}
</div>
</div>