unzip

DataWeave 2.1 is compatible with Mule 4.1. Standard Support for Mule 4.1 ended on November 2, 2020, and this version of Mule will reach its End of Life on November 2, 2022, 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.

unzip(Array<Array<T>>): Array<Array<T>>

Performs the opposite of zip.

Given a single array where each index contains an array with two elements, unzip outputs two separate arrays, each with the corresponding elements of each pair. If the indices in the provided array contain arrays with more than two elements, the output contains as many arrays as there are elements for each index.

Example

This example unzips an array of arrays. Note that in example b, the number of elements in input array is not consistent. So the function only creates as many full arrays as it can, in this case just one.

Source

%dw 2.0
output application/json
---
{
  "a" : unzip([[0,"a"],[1,"b"],[2,"c"],[3,"d"]]),
  "b" : unzip([ [0,"a"], [1,"a","foo"], [2], [3,"a"]])
}

Output

{
   "a":[
      [0, 1, 2, 3],
      ["a", "b", "c", "d"]
    ],
  "b": [
      [0,1,2,3]
    ]
}

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub