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

时间:2018-11-06 12:05:12

标签: angular typescript

我无法将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;
      }
    }
}

下面是Bus类和Item类

    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;
  }

1 个答案:

答案 0 :(得分:-1)

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

https://angular.io/guide/pipes#appendix-no-filterpipe-or-orderbypipe