flatten

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

flatten(Array<Array<T> | Q>): Array<T | Q>

ネストされた配列 (​[ [1], [2] ]​ など) を単純な配列 (​[1, 2]​ など) に変換します。

パラメーター

Name (名前) 説明

items

サポートされる任意の型で構成された配列の入力配列。

この例では、数値の配列を 3 つ定義し、それらの 3 つの配列を含むもう 1 つの配列を作成してから、flatten 関数を使用して配列の配列をすべての値を含む 1 つの配列に変換します。

ソース

%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)

出力

[ 1,2,3,4,5,6,7,8,9  ]

次の例では、オブジェクトのネストされた配列から 1 つの配列を返します。

ソース

%dw 2.0
var myData =
{ user : [
   {
     group : "dev",
     myarray : [
       { name : "Shoki", id : 5678 },
       { name : "Mariano", id : 9123 }
     ]
   }
 ]
}
output application/json
---
flatten(myData.user.myarray)

出力

[
  {
    "name": "Shoki",
    "id": 5678
  },
  {
    "name": "Mariano",
    "id": 9123
  }
]

flatten(myData.user.myarray)​ を使用するのではなく、​myData.user.myarray​ を使用して ​myarray​ 内のオブジェクトの配列を選択した場合、出力はオブジェクトのネストされた配列になります。

[
  [
    {
      "name": "Shoki",
      "id": 5678
    },
    {
      "name": "Mariano",
      "id": 9123
    }
  ]
]

flatten(Null): Null

flatten​ を null 値に使用できるようにするヘルパー関数。