Javascript ngfor~ERROR TypeError:无法读取属性';中的自定义筛选管道;过滤器';未定义的

Javascript ngfor~ERROR TypeError:无法读取属性';中的自定义筛选管道;过滤器';未定义的,javascript,angular,Javascript,Angular,我正在研制一个用于ngFor循环的过滤器,遇到了一个错误和另一个问题 我的烟斗看起来很简单。我将传递一个id号的参数作为筛选依据,然后将其与一个对象属性进行比较: import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'groupBy' }) export class GroupByPipe implements PipeTransform { transform(items: any, gro

我正在研制一个用于ngFor循环的过滤器,遇到了一个错误和另一个问题

我的烟斗看起来很简单。我将传递一个id号的参数作为筛选依据,然后将其与一个对象属性进行比较:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
    name: 'groupBy'
})

export class GroupByPipe implements PipeTransform {

    transform(items: any, groupId: number ): any {
        console.log(groupId);
        items.filter(items => items.storyFunnelStatusId === groupId);
    }

}
然后我的模板从上一个循环中获取column.id作为过滤器的参数:

<div class="board-container">
    <div class="board-column" *ngFor="let column of columnNames">
        <div class="board-heading">
            {{ column.name }}
            <span class="count">4</span>
        </div>
        <div id="column-{{ column.id }}" class="card-body">
            <div *ngFor="let item of results | groupBy: column.id">
                <pre>{{ item | json }}</pre>
            </div>
        </div>
    </div>
</div>
transform(items: [any], groupId: number ): any {
    console.log(groupId);
    if(items instanceof Array) {
        return items.filter(items => items.storyFunnelStatusId === groupId);
    }
    return [];
}

{{column.name}
4.
{{item | json}}
有两个问题,第一个大问题是我遇到了控制台错误:
error-TypeError:cannotread属性'filter'的undefined

第二个是,当我尝试
console.log('groupId')
时,我得到了10个结果,而我应该只得到一个


我想在这里发牢骚:(

错误类型错误:无法读取未定义的属性“filter”
表示您在
GroupByPipe
中的
未定义,这意味着您向它传递了错误的参数

通过修改您的模板将修复它


错误类型错误:无法读取未定义的属性“filter”
表示您在
GroupByPipe
中的
未定义,这意味着您向其传递了错误的参数

通过修改您的模板将修复它


很酷,谢谢,这至少让过滤器工作了,这意味着我可以看到数据,但我仍然得到一个未定义的错误?@SandraWillford,这很简单。一些
undefine
检查可以解决它…我会更新答案。很酷,谢谢,这至少让过滤器工作了,这意味着我可以看到数据,但我仍然得到一个und定义错误?@SandraWillford这很简单。一些
undefine
检查可以解决它…我会更新答案。
transform(items: [any], groupId: number ): any {
    console.log(groupId);
    if(items instanceof Array) {
        return items.filter(items => items.storyFunnelStatusId === groupId);
    }
    return [];
}