Filter items emitted by the source Observable by only emitting those that
satisfy a specified predicate.
filter<T>(predicate: (value: T, index: number) => boolean, thisArg?: any): MonoTypeOperatorFunction<T>
Parameters
predicate |
A function that
evaluates each value emitted by the source Observable. If it returns true ,
the value is emitted, if false the value is not passed to the output
Observable. The index parameter is the number i for the i-th source
emission that has happened since the subscription, starting from the number
0 .
|
thisArg |
Optional. Default is undefined .
An optional argument to determine the value of this
in the predicate function.
|
Returns
MonoTypeOperatorFunction<T>
: An Observable of values from the source that were
allowed by the predicate
function.
Description
Like
Array.prototype.filter(),
it only emits a value from the source if it passes a criterion function.

Similar to the well-known Array.prototype.filter
method, this operator
takes values from the source Observable, passes them through a predicate
function and only emits those values that yielded true
.
Example
Emit only click events whose target was a DIV element
import { fromEvent } from 'rxjs';
import { filter } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const clicksOnDivs = clicks.pipe(filter(ev => ev.target.tagName === 'DIV'));
clicksOnDivs.subscribe(x => console.log(x));