filter

filter :: (Collection collection, Function predicate) -> Collection | Promise<Collection>

description

Iterates over a collection (Array, Object, Map, Set) and returns a new collection of the same type containing only the values for which the predicate function evaluates to true.

Like many Collection methods in Conductor, filter works with both asynchronous & synchronous mappers. If you use a synchronous predicate function, filter will work like Array.prototype.filter and return a Collection synchronously.

const values = [0, 1, 2, 3]
const isEven = x => x % 2 === 0
filter(isEven, values) // [0, 2]

If you use an asynchronous mapper, filter will return a Promise, and you will need to use await or Promise.prototype.then to retrieve the new collection.

const values = [0, 1, 2, 3]
const isEven = async x => x % 2 === 0
filter(double, values) // Promise<Pending>
await filter(double, values) // [0, 2]

Important

If you use an asynchronous predicate function, all predicate calls will be done in parallel, but the input collection's order will be preserved.

results matching ""

    No results matching ""