Hi Teja, I'm a bit too busy to go and sit down for this. I can give you some pointers: import {of, BehaviorSubject, combineLatest} from 'rxjs'; import {map} from 'rxjs/operators';
interface Product { id: number; name: string; tags: string[]; } const products$ = of([] as Product[]); const searchItems = new BehaviorSubject([] as string[]); const results$ = combineLatest(products$, searchItems).pipe( map(([products, tags]) => products.filter(pod => tags.every(tag => pod.tags.includes(tag)))) ); completely untested, but the idea is there. You need to add a thing that includes all products if there are no filters yet. (oh, and probably a thing or 2 more ;) ) hope this gets you going, Regards Sander -- You received this message because you are subscribed to the Google Groups "Angular and AngularJS discussion" group. To unsubscribe from this group and stop receiving emails from it, send an email to angular+unsubscr...@googlegroups.com. To post to this group, send email to angular@googlegroups.com. Visit this group at https://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.