Я использую фильтрующую трубу в своем приложении angular 4. Но у меня проблема, так как я фильтрую внутри массива, но также и внутри этого массива. Итак, я не могу найти это конкретное имя ... поскольку я могу найти только первый массив, но не внутренний массив. Вот мой ответ JSON и мой код канала ниже. Здесь я могу искать только "admin name and email"
, НО я не могу искать "Outlet name, address AND Role name"
JSON
{
"token": "eyefqffiwqnrfoqif",
"users": [
{
"id": 1,
"name": "Admin",
"email": "[email protected]",
"created_at": "2018-01-05 07:17:41",
"updated_at": "2018-01-05 09:17:41",
"outlet": {
"id": 1,
"name": "Sarawak Energy Berhad",
"address": "Kuching City",
"contact_number": "1300-88-3111",
"created_at": "2018-01-05 10:17:44",
"updated_at": "2018-01-05 10:17:44"
},
"roles": [
{
"id": 1,
"name": "Admin",
"created_at": "2018-01-05 10:17:40",
"updated_at": "2018-01-05 10:17:40",
"pivot": {
"model_id": 1,
"role_id": 1
},
}
]
}
]
}
ФИЛЬТР ТРУБКА
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'search'
})
export class SearchPipe implements PipeTransform {
transform(items: any, term: any): any {
if (term === undefined) return items;
return items.filter(function(item) {
for(let property in item){
if (item[property] === null){
continue;
}
if(item[property].toString().toLowerCase().includes(term.toLowerCase())){
return true;
}
}
return false;
});
}
}