takeWhile<T>(array: Array<T>, condition: (item: T) -> Boolean): Array<T>

Selects elements from the array while the condition is met but stops the selection process when it reaches an element that fails to satisfy the condition.

To select all elements that meet the condition, use the filter function.

Introduced in DataWeave version 2.2.0.


Name Description


The array of elements.


The condition (or expression) used to match an element in the array.


This example iterates over the elements in the array and selects only those with an index that is <= 1 and stops selecting elements when it reaches one that is greater than 2. Notice that it does not select the second 1 because of the 2 that precedes it in the array. The function outputs the result into an array.


%dw 2.0
import * from dw::core::Arrays
output application/json
var arr = [0,1,2,1]
arr takeWhile $ <= 1



takeWhile(array: Null, condition: (item: Nothing) -> Any): Null

Helper function that enables takeWhile to work with a null value.

Introduced in DataWeave version 2.4.0.

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub
Submit your feedback!
Share your thoughts to help us build the best documentation experience for you!
Take our latest survey!