---
schema_version: "1"
id: cde014c98042545cb335e3b61de98d6148a4dacf73c8980e3db8a719bd20965e
title: unzip
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/dataweave/2.11/dw-core-functions-unzip.md
canonical_url: https://docs.mulesoft.com/dataweave/2.11/dw-core-functions-unzip
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 7872cd8720d8147d206292b872c3076475a113b4290b84d5d1ec0642683edf80
description: MuleSoft Documentation Site
release: "2.11"
latest: false
---
---
product: DataWeave
version: 2.11
---

# unzip

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

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

Performs the opposite of `zip`. It takes an array of arrays as input.

The function groups the values of the input sub-arrays by matching indices, and it outputs new
sub-arrays with the values of those matching indices. No sub-arrays are produced for unmatching
indices. For example, if one input sub-array contains four elements (indices 0-3) and another only
contains three (indices 0-2), the function will not produce a sub-array for the value at index 3.

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>items</code></p></td><td><p>The input array of arrays.</p></td></tr></tbody></table>

### Example

This example unzips an array of arrays. It outputs the first index of each sub-array into one array
`[ 0, 1, 2, 3 ]`, and the second index of each into another `[ "a", "b", "c", "d" ]`.

#### Source

```DataWeave
%dw 2.0
output application/json
---
unzip([ [0,"a"], [1,"b"], [2,"c"],[ 3,"d"] ])
```

#### Output

```JSON
[ [ 0, 1, 2, 3 ], [ "a", "b", "c", "d" ] ]
```

### Example

This example unzips an array of arrays. Notice that the number of elements in the input arrays is
not all the same. The function creates only as many full sub-arrays as it can, in this case, just
one.

#### Source

```DataWeave
%dw 2.0
output application/json
---
unzip([ [0,"a"], [1,"a","foo"], [2], [3,"a"] ])
```

#### Output

```JSON
[0,1,2,3]
```

### Example

This example unzips an array of arrays where each input subarray contains more than two elements. It
shows that `unzip` can produce more than two output subarrays when there are additional values at
each index.

#### Source

```DataWeave
%dw 2.0
output application/json
---
unzip([ [0,"a","W"], [1,"b","X"], [2,"c","Y"], [3,"d","Z"] ])
```

#### Output

```JSON
[
 [0,1,2,3],
 ["a","b","c","d"],
 ["W","X","Y","Z"]
]
```
