вы можете использовать два * ngFor для каждого, включая * ngIf для каждого раздела (верх / низ), например: (учитывая, что ваши данные в свойстве массива называются foo)
<div>
<ng-container *ngFor="let item of foo">
<span *ngIf="item.section=='top'">
{{ item.name }}
</span>
</ng-container>
</div>
<div>
<ng-container *ngFor="let item of foo">
<span *ngIf="item.section=='bottom'">
{{ item.name }}
</span>
</ng-container>
</div>
если у вас есть более двух допустимых значений для свойства раздела, вы можете использовать этот код, чтобы иметь более динамический шаблон в соответствии с вашими значениями раздела: (учитывая, что у вас есть значения раздела в свойстве массива, называемом bar)
<ng-container *ngFor="let section of bar">
<div>
<ng-container *ngFor="let item of foo">
<span *ngIf="item.section==section">
{{ item.name }}
</span>
</ng-container>
</div>
</ng-container>
рабочий пример:
Пример стекаблиц