Contact Free trial Login

filter

filter(Array<T>, (item: T, index: Number) -> Boolean): Array<T>

Iterates over an array and applies an expression that returns matching values.

The expression must return true or false. If the expression returns true for a value or index in the array, the value gets captured in the output array. If it returns false for a value or index in the array, that item gets filtered out of the output. If there are no matches, the output array will be empty.

Parameters

Name Description

items

The array to filter.

criteria

Boolean expression that selects an item and/or index.

Example

This example returns an array of values in the array that are greater than 2.

Source

[9,2,3,4,5] filter (value, index) -> (value > 2)

Output

[9,3,4,5]

Example

This example returns an array of all values found at an index greater than 2.

Source

[9,2,3,4,5] filter ((value, index) -> (index > 2))

Output

[4,5]

Example

This example returns an array of all items found at an index ($$) greater than 1 where the value of the element is less than 5. Notice that it is using anonymous parameters as selectors instead of using named parameters in an anonymous function.

Source

%dw 2.0
output application/json
---
[9, 2, 3, 4, 5] filter (($$ > 1) and ($ < 5))

Output

[3,4]

filter(Null, (item: Nothing, index: Nothing) -> Boolean): Null

Helper function that allows filter to work with null values.