我有两个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比较中使用!==
,因为结果永远不会是正确的。我需要像逆滤波器之类的东西。有人对如何解决此问题有任何建议吗?