У меня есть два 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, потому что результат никогда не будет правдой. Мне нужно что-то вроде обратного фильтра или что-то в этом роде. У кого-нибудь есть предложения как это исправить?