Я предлагаю создать массив "order" и выполнять итерации по порядку, например,
order:number[]
ngOnInit()
{
this.order=this.images.map((n,index)=>index); //create an array [0,1,2,3..]
this.order.sort((a,b)=>Math.random()>.5); //shuffle the array
}
. Затем использовать
<li class="mdc-image-list__item" *ngFor="let index of order">
{{images[index]}}{{names[index]}}
</li>
. ПРИМЕЧАНИЕ: вы можете улучшить приложение, если используете массив объекта, а не два массива. например, если у вас есть
images=[{img:"...",name:".."},{img:"...",name:".."},{img:"...",name:".."}..]
и используйте
<li class="mdc-image-list__item" *ngFor="let index of order">
{{images[index].img}}{{images[index].name}}
</li>
см. stackblitz