[英]angular2 - pipe - filter multiple json values
我有一個像這樣的嵌套json對象數組:
[{name: {en:'apple',it:'mela'}},{name:{en:'coffee',it:'caffè'}}]
我想要一個管道,用於過濾具有與給定參數匹配的值的每個對象。
為此,我創建了一個使用Array.prototype.filter
的管道,如下所示:
@Pipe({
name: 'search'
})
export class SearchPipe implements PipeTransform {
transform(items: any[], args: string): any {
if(!args){
return items;
} else {
return items.filter(item => item.name.en.toLowerCase().indexOf(args[0]) !== -1); //returns every name.en values matching with args
}
}
}
這使我可以按name.en進行過濾。 如何使它能夠過濾值name.en
和name.it
?
過濾時可以使用OR運算符。
@Pipe({
name: 'search'
})
export class SearchPipe implements PipeTransform {
transform(items: any[], args: string): any {
if (!args){
return items;
} else {
return items
.filter(item =>
item.name.en.toLowerCase().indexOf(args[0]) !== -1 || item.name.it.toLowerCase().indexOf(args[1]) !== -1
);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.