Чтобы улучшить уже полученный ответ, вы можете добавить условие if, чтобы проверить, есть ли в массиве people контент, иначе это может привести к ошибке.
<h4>NgFor (grouped)</h4>
<ul *ngFor="let group of peopleByCountry ">
<li>{{ group.country }}</li>
<ul>
<li *ngIf="group.people.length > 0">
{{ group.people[0].name }}
</li>
</ul>
</ul>`
Вот скрипка: https://jsfiddle.net/uq3cyk5d/
Редактировать
После того, как я увидел ваш комментарий, я думаю, что ваш выбор имен для показа выглядит довольно случайным. Чтобы вы могли решить, какие имена показывать, я просто ввел другой атрибут в ваши данные. С помощью свойства show вы можете определить, какие имена должны отображаться в списке, а какие нет.
данные:
peopleByCountry: any[] = [
{
'country': 'UK',
'people': [
{
"name": "Douglas Pace",
"show": true
},
{
"name": "Mcleod Mueller",
"show": false
},
]
},
{
'country': 'US',
'people': [
{
"name": "Day Meyers",
"show": true
},
{
"name": "Aguirre Ellis",
"show": true
},
{
"name": "Cook Tyson",
"show": false
}
]
}
];
HTML:
<ul *ngFor="let group of peopleByCountry ">
<li>{{ group.country }}</li>
<ul>
<div *ngFor="let person of group.people">
<li *ngIf="person.show">
{{person.name}}
</li>
</div>
</ul>
</ul>
Я обновил скрипку: https://jsfiddle.net/uq3cyk5d/2