Cómo obtener registros únicos de esta matriz. Necesito obtener {{ subitem.author }}
de esta matriz de elementos.
<div *ngFor="let item of items"> <ion-list *ngFor="let subitem of item.items" (click)="authorquotes(subitem.author);"> <ion-item > {{ subitem.author }} </ion-item> </ion-list> </div>
En una matriz que tiene varios registros. De esa matriz, necesito filtrar autores únicos.
Debe crear una tubería que filtre la matriz con elementos únicos:
@Pipe({ name: 'filterUnique', pure: false }) export class FilterPipe implements PipeTransform { transform(value: any, args?: any): any { // Remove the duplicate elements let uniqueArray = value.filter(function (el, index, array) { return array.indexOf (el) == index; }); return uniqueArray; } }
Entonces puedes aplicar tu tubería:
<div *ngFor="let item of items | filterUnique"> <ion-list *ngFor="let subitem of item.items" (click)="authorquotes(subitem.author);"> <ion-item > {{ subitem.author }} </ion-item> </ion-list> </div>
Demostración de trabajo: https://plnkr.co/edit/yxvoKVD3Nvgz0T3AB7w3?p=preview