您如何比较两个可观察变量以找到两个都不存在的值?

时间:2019-05-27 20:47:06

标签: angular rxjs

我有两个observables,一个是可用课程的列表,另一个是已完成课程的列表。我的任务是创建一个可以下一步学习的课程列表。问题是,当我做一个过滤器时,我可以很容易地找到比较真正正确的地方,但是我不知道如何获得反列表。

这是我当前的功能

public CourseList(): Observable < ICourse[] > {
  return this.CourseworkServ.Read()
    .pipe(
      switchMap((CurrentCourses: IResponseObject < ICourseworkData > ) => {
        return this.CourseServ.Read(this.SelectedDepartment.Id)
          .pipe(
            map((CourseList: IResponseObject < ICourse > ) => CourseList.Array.filter((CheckCourse: ICourse) => CurrentCourses.Array.some(({
              Id,
              Edition,
              Institution,
              Department,
              Course
            }) => CheckCourse.Id === Id)))
          )
      })
    )
}  

此功能将显示从课程列表中选出的课程,我需要的是未选课程列表。但是,如果我不能仅在ID比较中使用!==,因为结果永远不会是正确的。我需要像逆滤波器之类的东西。有人对如何解决此问题有任何建议吗?

0 个答案:

没有答案