Angular 订阅多个输出时进行筛选(推送到少数阵列)

Angular 订阅多个输出时进行筛选(推送到少数阵列),angular,typescript,Angular,Typescript,我试图组织从后端(node_js)获取的数据。现在我正在实现一个简单的看板,我需要将数组中的数据排序到相应的数组中(因此,状态为“to do”的数组任务中的所有元素都在数组“to_do”中) 我知道我可以在管道中进行简单的过滤,并获取对我来说很重要的仅订阅数据,但是有没有办法得到一个而不是两个(或更多)包含数据的数组(我也可以在订阅之外解决这个问题,编写一个函数和过滤器,但我很好奇这是否可以在不编写额外函数的情况下以neet方式完成) 我试图用一个管道来实现这一点,但我不知道怎么做。简单地在方法

我试图组织从后端(node_js)获取的数据。现在我正在实现一个简单的看板,我需要将数组中的数据排序到相应的数组中(因此,状态为“to do”的数组任务中的所有元素都在数组“to_do”中)

我知道我可以在管道中进行简单的过滤,并获取对我来说很重要的仅订阅数据,但是有没有办法得到一个而不是两个(或更多)包含数据的数组(我也可以在订阅之外解决这个问题,编写一个函数和过滤器,但我很好奇这是否可以在不编写额外函数的情况下以neet方式完成)

我试图用一个管道来实现这一点,但我不知道怎么做。简单地在方法中放入几次过滤器将过滤数组,但不返回任何内容(没有同时完成和要执行的任务)

线路板视图.component.ts

import { Component, OnInit } from '@angular/core';
import { Task } from '../shared/models/task';
import { HttpClient, HttpHeaders } from '@angular/common/http';

import { filter, map } from 'rxjs/operators';
import { Observable, of, pipe } from 'rxjs';

@Component({
  selector: 'app-board-view',
  templateUrl: './board-view.component.html',
  styleUrls: ['./board-view.component.css']
})
export class BoardViewComponent implements OnInit {

  tasks: Task[];
  token: string = '';

  tracks = ['none', 'to do', 'in progres', 'in review', 'done'];

  constructor(private http: HttpClient) { }

  ngOnInit(): void {
    this.token = localStorage.getItem('authToken');

    this.http.get<Task[]>('http://localhost:3000/api/tasks',
      { headers: new HttpHeaders({ 'x-auth-token': this.token }) })
      .pipe(map(res => res.filter(task => task.status === 'to do')))
        .subscribe
        (data => this.tasks = data);
  }
}
export interface Task {
  id: string;
  name: string;
  createDate: string;
  createdBy: { id: string, name: string };
  assignedTo: { id: string, name: string };
  modificationDate: string;
  modifiedBy: { id: string, name: string };
  description: string;
  status: string;
  priority: string;
}

如果我理解正确,您可以使用
reduce
操作符执行此操作

这里有一个简单的演示

对于特定的http调用,它可能如下所示:

this.http.get('http://localhost:3000/api/tasks',
{headers:newhttpheaders({'x-auth-token':this.token}})
.烟斗(

reduce或

yeah@Lados,这正是我想要的(我想有条件地将整个元素推到另一个数组中,但这个示例为我指明了正确的方向,并且解答了我的问题)。有趣的是,我正在阅读此文档,但句子如下:“reduce对累加器应用累加器函数,并且源可观测的每个值”对于像我这样的新手来说有点太多了:)