无法在Angular管道中将一个数组的值推入另一个数组



我无法将items[]数组的值存储在ResultSet[]中。我已经尝试了很多方法来存储这些值,但我做不到。下面是我的Pipe代码。

import { Pipe, PipeTransform } from '@angular/core';
import { Bus } from '/home/pavan/Desktop/Pavan/apstrtcAngular/src/app/Bus';
import { Item } from './Item';
@Pipe({
name: 'boardingFilter'
})
export class BoardingFilterPipe implements PipeTransform {
transform(items: Bus[], customfilter1: Item[]): Bus[] {
let ResultSet: Bus[];
if (!items || !customfilter1) {
return items;
}
else if (customfilter1.length == 0) {
return items;
}
else{
for (let i = 0; i < items.length; i++) {
for (let j = 0; j < customfilter1.length; j++) {
if (customfilter1[j].item_text === items[i].boardingpoint) {
ResultSet.push(items[i]);
console.log("Result Set =" + ResultSet);
}
}
}
return ResultSet;
}
}
}

下面是总线类和项目类

export class Bus {
serviceno: String;
board: String;
destination: String;
duration: string;
type: string;
price: string;
bustype: string;
boardingpoint: string;
droppingpoint:string
}

项目类别为

export class Item {
item_id: string;
item_text:string;
}

Angular团队和许多经验丰富的Angular开发人员强烈建议将过滤和排序逻辑转移到组件本身中。该组件可以公开filteredHeroes或sortedHeroes属性,并控制执行支持逻辑的时间和频率。任何可以放入管道中并在应用程序中共享的功能都可以写入过滤/排序服务中,并注入到组件中。

https://angular.io/guide/pipes#appendix-无过滤管或订单旁通管

最新更新