javascript - 以 Angular 4 过滤给定数组而不使用另一个数组并将其显示在同一组件中

标签 javascript arrays angular

我有一群学生,上面有他们的名字和成绩。

studentResults = [
{name: 'Adam', result : 'Passed'},
{name: 'Alan', result : 'Failed'},
{name : 'Sandy', result : 'Passed'}, 
{name: 'Max', result : 'Passed'},
{name : 'Woody', result : 'Failed'}];

我想在组件中在左侧显示通过考试的学生列表,在右侧显示未通过考试的学生列表。如何在不使用另一个数组的情况下过滤数组并显示记录?

最佳答案

您可以创建一个过滤器管道并在模板中使用它,如下所示

@Pipe({
  name: 'filterByResult'
})
export class FilterByResultPipe implements PipeTransform {
  transform(value: number, result: 'Passed' | 'Failed', args?: any): any {
    return value.filter(student => student.result === result);
  }
}

在模板中

<div *ngFor="let student of studentResults | filterByResult: 'Passed'">
        {{student.name}}
<div>

<div *ngFor="let student of studentResults | filterByResult: 'Failed'">
        {{student.name}}
<div>

关于javascript - 以 Angular 4 过滤给定数组而不使用另一个数组并将其显示在同一组件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53592697/

相关文章:

php - 如何在PHP中的数组开头插入一个项目?

Angular:在 ngFor 中获取当前索引

javascript - 单击按钮以 PHP 方式回复电子邮件

javascript - 使用javascript从外部css文件中获取元素的样式

javascript - Iframe 中的 SCORM 类(class)找不到 API

javascript - 在移动版 Safari 中隐藏/显示内联 SVG 时遇到问题

arrays - 如何从数组中提取整数值(混合类型 : integers/strings) via RegExp?

c - c中的段错误错误数组

Angular 4 Jasmine Actual 不是函数

angular - Angular 中如何返回上一页?