javascript - Filtrera på rätt sätt ett observable av en array med objekt baserat på om en viss egenskap på varje index är sann?
Så jag har en Observable av typen Student[]. Det vill säga en observable av en array av objekt. Student har en egenskap id: number. Hur filtrerar jag bort index i studentarrayen baserat på en egenskap. Till exempel, låt oss säga att students$är en observable av typen Observable[Student] och jag skulle vilja ta bort en student från Observable<Student[]> baserat på deras "bannedId", jag försökte:
students$.filter(student => student.id !== bannedId)
men jag fick felet att id inte är en egenskap hos Student[]. Om jag anger ett index t.ex. student[0].id så känner den igen egenskapen men gör uppenbarligen inte vad jag vill. Hur skulle jag gå tillväga för att filtrera detta?
Svar #1
Har du försökt med Observable.map(...)?
students$.map(studentList => studentList.filter(student => student.id !== bannedId))Det skapar en ny Observable på vilken du kan förvänta dig att elementen inte har ett studentobjekt med det förbjudna ID:t.