unzip

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

zip​ の逆の操作を実行します。これは、配列の配列を入力として使用します。

この関数は、一致するインデックスで入力サブ配列の値をグループ化し、その一致するインデックスの値を含む新しいサブ配列を出力します。一致しないインデックスのサブ配列は生成されません。たとえば、1 つの入力サブ配列に 4 つの要素 (インデックス 0 ~ 3) が含まれ、別の入力サブ配列に 3 つの要素 (インデックス 0 ~ 2) のみが含まれる場合、この関数はインデックス 3 の値のサブ配列を生成しません。

パラメーター

名前 説明

items

配列の入力配列。

次の例では、配列の配列を展開します。各サブ配列の 1 番目のインデックスを 1 つの配列 ​[ 0, 1, 2, 3 ]​ に出力し、各サブ配列の 2 番目のインデックスを別の配列 ​[ "a", "b", "c", "d" ]​ に出力します。

ソース

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

出力

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

次の例では、配列の配列を展開します。入力配列の要素数がそれぞれ異なります。関数は可能な限り多くの完全なサブ配列を作成します。この場合は、1 つのみとなります。

ソース

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

出力

[0,1,2,3]