Обратите внимание, что оператор фильтра в RxJS сильно отличается от собственного метода JavaScript Array.filter () .
Оператор фильтра RxJS позволяет вам
Фильтровать элементы, испускаемые источником Observable, выпуская только те, которые удовлетворяют указанному предикату.
Другими словами, оператор RxJS filter
исключает наблюдаемое из потока, который встречаетопределенное условие, которое весьма отличается от того, что делает Array.filter()
, которое заключается в фильтрации / удалении объектов или значений из массива на основе определенного условия.
Например, в приведенной ниже последовательности используется оператор RxJS filter()
для отфильтровывания tags
, длина которого меньше 1.
this.articleTags
.pipe(
filter(tags => tags.length > 1),
).subscribe(res => {
console.log(res);
// do the rest
})
Следовательно, результирующий вывод при наблюдаемых значенияхбыло бы возвращено articleTags
, длина которого больше 1.
Следовательно, я не думаю, что вам следует использовать оператор RxJS filter
для замены операции фильтрации внутри оператора map()
.