---
schema_version: "1"
id: a74bbd9acf9d6af21f5d970098f8dcbcecd57dfa82b14bf1ca0d6f540b9a9c6f
title: 複数の配列要素のグループ化
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.6/dataweave-cookbook-zip-arrays-together.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-zip-arrays-together
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 915876d30fe7fc505651409fc60f7da2954bd543359a5e2efa235411ed403b1c
description: MuleSoft Documentation Site
release: "2.6"
latest: false
---
# 複数の配列要素のグループ化

この DataWeave の例では、イケアスタイルの家具の部品表を再構成します。入力には、並列処理される 2 つの個別の配列があり、ねじの寸法と数量が含まれます。これらは変換により、「screws」配列がタプル (寸法が含まれるタプルと対応する数量が含まれるタプル) で構成されるように並び替えられます。同じことが木製ボードにも適用されます。入力には、x の寸法と y の寸法が含まれる 2 つの配列があります。変換により、各ボードの一連のタプルに再編成されます。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の例](#1.2@dataweave::dataweave-examples.adoc)​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

次の DataWeave 関数を使用します。

- メイン配列の要素を調べる ​`map`​。
- インデックスで複数の 2 要素配列にグループ化されるように、長い配列のペアを再編成する ​`zip`​。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/json
---
payload map (item, index) ->
{
    name: item.name,
    id: item.itemID,
    screws: zip(item.screws.size, item.screws.quantity),
    measurements: zip(item.measurements.x,item.measurements.y )
}
```

入力 JSON ペイロード:

```json
[
   {
    "name":"wooden-chair",
    "itemID": "23665",
    "screws":{
      "size":[4,6,10],
      "quantity":[15,8,28]
    },
    "measurements":
    {"x":[25,46, 46, 16,150,5, 100, 100, 8],
    "y":[15,4, 4, 80,3, 4, 4, 15]
    }
  },
   {
    "name":"coffee-table",
    "itemID": "14398",
    "screws":{
      "size":[3,8,10],
      "quantity":[8,12,20]
    },
    "measurements":
    {"x":[55, 48, 48, 48, 48, 30, 30, 30, 30],
    "y":[55, 40, 40, 40, 50, 4, 4, 4, 4]
    }
  }
]
```

出力 JSON:

```json
[
  {
    "name": "wooden-chair",
    "id": "23665",
    "screws": [
      [
        4,
        15
      ],
      [
        6,
        8
      ],
      [
        10,
        28
      ]
    ],
    "measurements": [
      [
        25,
        15
      ],
      [
        46,
        4
      ],
      [
        46,
        4
      ],
      [
        16,
        80
      ],
      [
        150,
        3
      ],
      [
        5,
        4
      ],
      [
        100,
        4
      ],
      [
        100,
        15
      ]
    ]
  },
  {
    "name": "coffee-table",
    "id": "14398",
    "screws": [
      [
        3,
        8
      ],
      [
        8,
        12
      ],
      [
        10,
        20
      ]
    ],
    "measurements": [
      [
        55,
        55
      ],
      [
        48,
        40
      ],
      [
        48,
        40
      ],
      [
        48,
        40
      ],
      [
        48,
        50
      ],
      [
        30,
        4
      ],
      [
        30,
        4
      ],
      [
        30,
        4
      ],
      [
        30,
        4
      ]
    ]
  }
]
```

## [](#関連する例)関連する例

- [項目の再グループ化](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-regroup-fields)
- [XML から JSON への変換](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-perform-basic-transformation)
- [カスタム追加関数の定義](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-define-a-custom-addition-function)
- [上位要素の取得](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-pick-top-elements)

## [](#関連情報)関連情報

- [DataWeave の型](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-types)
- [DataWeave セレクター](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-selectors)
- [DataWeave の解説書](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook)