filter

function stable

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>: A function that returns an Observable that emits items from the source Observable that satisfy the specified predicate.

Description

Like Array.prototype.filter(), it only emits a value from the source if it passes a criterion function.

filter marble diagram

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));

Overloads

filter(predicate: (this: A, value: T, index: number) => value is S, thisArg: A): OperatorFunction<T, S>

Deprecation Notes

Use a closure instead of a thisArg. Signatures accepting a thisArg will be removed in v8.

Parameters

predicate

Type: (this: A, value: T, index: number) => value is S.

thisArg

Type: A.

Returns

OperatorFunction<T, S>

filter(predicate: (value: T, index: number) => value is S): OperatorFunction<T, S>

Parameters

predicate

Type: (value: T, index: number) => value is S.

Returns

OperatorFunction<T, S>

filter(predicate: BooleanConstructor): OperatorFunction<T, TruthyTypesOf<T>>

Parameters

predicate

Type: BooleanConstructor.

Returns

OperatorFunction<T, TruthyTypesOf<T>>

filter(predicate: (this: A, value: T, index: number) => boolean, thisArg: A): MonoTypeOperatorFunction<T>

Deprecation Notes

Use a closure instead of a thisArg. Signatures accepting a thisArg will be removed in v8.

Parameters

predicate

Type: (this: A, value: T, index: number) => boolean.

thisArg

Type: A.

Returns

MonoTypeOperatorFunction<T>

filter(predicate: (value: T, index: number) => boolean): MonoTypeOperatorFunction<T>

Parameters

predicate

Type: (value: T, index: number) => boolean.

Returns

MonoTypeOperatorFunction<T>

See Also

© 2015–2021 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/filter