Contact Us 1-800-596-4880

filter

DataWeave 2.2 is compatible and bundled with Mule 4.2. This version of Mule reached its End of Life on May 2, 2023, when Extended Support ended.

Deployments of new applications to CloudHub that use this version of Mule are no longer allowed. Only in-place updates to applications are permitted.

MuleSoft recommends that you upgrade to the latest version of Mule 4 that is in Standard Support so that your applications run with the latest fixes and security enhancements.

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.