Package: effect
Module: Array
Keeps only elements satisfying a predicate (or refinement).
When to use
Use to filter an iterable into a new array of original elements that satisfy a boolean predicate or refinement.
Details
The predicate receives (element, index). Refinements are supported for type
narrowing.
Example (Filtering even numbers)
import { Array } from "effect"
console.log(Array.filter([1, 2, 3, 4], (x) => x % 2 === 0)) // [2, 4]
See
partition — split into matching and non-matchingfilterMap for transforming while filteringSignature
declare const filter: { <A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Array<B>; <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Array<A>; <A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Array<B>; <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A>; }
Since v2.0.0