flatten function in DataWeave 2.0 (mulesoft)

The flatten to move the elements from the subarrays to the parent array, eliminate the subarrays, and covert all key-value pairs into a list of objects within the parent array. With the help of flatten function multiple arrays are bounded together as single array.

Syntax:
flatten<T, Q>(@StreamCapable items: Array<Array<T> | Q>): Array<T | Q>

Turns a set of subarrays (such as [ [1,2,3], [4,5,[6]], [], [null] ]) into a single, flattened array (such as [ 1, 2, 3, 4, 5, [6], null ]).

Parameters

NameDescription
itemsThe input array of arrays made up of any supported types.
Input
[ [1,2,3], [4,5,[6]], [], [null] ]
DW Script
%dw 2.0
output application/json
---
flatten(payload)
Output
[
  1,
  2,
  3,
  4,
  5,
  [
    6
  ],
  null
]

Note that it flattens only the first level of subarrays and omits empty subarrays.

Example

This example defines three arrays of numbers, creates another array containing those three arrays, and then uses the flatten function to convert the array of arrays into a single array with all values.

source
%dw 2.0
output application/json
var array1 = [1,2,3]
var array2 = [4,5,6]
var array3 = [7,8,9]
var arrayOfArrays = [array1, array2, array3]
---
flatten(arrayOfArrays)
Output
[ 1,2,3,4,5,6,7,8,9 ]
Follow Me

If you like my post please follow me to read my latest post on programming and technology.

Instagram

Facebook

Leave a Reply

Your email address will not be published. Required fields are marked *