import { Pipe, PipeTransform } from "@angular/core"; @Pipe({ name: "search", }) export class SearchPipe implements PipeTransform { transform( items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string ): any[] { if (items == null || items.length === 0) { return []; } if (searchText == null || searchText.length < 2) { return items; } searchText = searchText.trim().toLowerCase(); return items.filter((i) => { if ( prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1 ) { return true; } if ( prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1 ) { return true; } if ( prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1 ) { return true; } return false; }); } }