Я пытаюсь понять и работать с Observables , я заставил его работать, но теперь мне нужно отфильтровать данные внутри в зависимости от id
, которые они имеют, например: данные, которые имеют l1: 1
и l2 : 2
должны быть сгруппированы так же, как данные, которые имеют
l1: 1,l2: 3,l3: 4
Какой подход является лучшим? Я пытался с .filter()
и .distinct()
, но не могу заставить его работать, должен ли я фильтровать внутри компонента или непосредственно внутри службы?
service.ts
getStructure(): Observable<StructureInterface[]> {
return this.httpClient.get<StructureInterface[]>(`someUrl`)
.pipe(
tap(data =>
console.log('Get structure done ', data)),
catchError(this.handleError)
);
}
interface.ts
export interface StructureInterface {
parts: {
part: string,
l1: number,
l2: number,
l3: number,
diam: Array<{}>;
price1: number,
price2: number
},
labels_levels: [string];
labels_diameters: [string];
}
component.ts
labels: any[];
constructor(private httpClient: HttpClient,
private activatedRoute: ActivatedRoute,
private service: Service
) {
}
//Call to service
ngOnInit() {
this.service.getStructure().subscribe(
res => {
this.labels = res;
//I tried .filter() here
console.log(this.labels)
});
}
Спасибо за вашу помощь