filter

DataWeave 2.2 is compatible and bundled with Mule 4.2. Standard Support for Mule 4.2 ended on May 2, 2021, and this version of Mule will reach its End of Life on May 2, 2023, when Extended Support ends.

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.

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub