groupBy

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了します。

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

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

groupBy(Array<T>, (item: T, index: Number) -> R): { (R): Array<T> }

指定された ​criteria​ 関数を使用してリスト (配列) の要素を分類します。

この関数は、キーとしてグループ化条件が含まれるオブジェクトを返します。

パラメータ

名前 説明

items

グループに分類するリスト (​Array​ (配列) 型)。

criteria

グループ化する要素の ​item​ (項目) と ​index​ (インデックス) を受け入れ、グループ化の条件を返す関数。

次の例では、言語項目に基づいて配列の要素をグループ化します。 条件を指定するために ​item.language​ セレクタが使用されています。

ソース

%dw 2.0
output application/json
---
payload groupBy (item) -> item.language

入力

[
    {
      "name": "Foo",
      "language": "Java"
    },
    {
      "name": "Bar",
      "language": "Scala"
    },
    {
      "name": "FooBar",
      "language": "Java"
    }
]

出力

{
  "Scala": [
    {
      "name": "Bar",
      "language": "Scala"
    }
  ],
  "Java": [
    {
      "name": "Foo",
      "language": "Java"
    },
    {
      "name": "FooBar",
      "language": "Java"
    }
  ]
}

groupBy(​{ (K)?: V }, (value: V, key: K) -> R): { (R): Array<T> }

指定されたキーに基づいてオブジェクトの要素をグループ化します。

パラメータ

名前 説明

object

グループ化するオブジェクト。

criteria

グループ化に使用するオブジェクトの ​key​ (キー) および/または ​value​ (値)。

次の例では、オブジェクトをその値 (​$$​) に基づいてグループ化します。

ソース

%dw 2.0
output application/json
---
{ "a" : "b"} groupBy $

出力

{
  "b": {
    "a": "b"
  }
}

groupBy(Null, (Nothing, Nothing) -> Any): Null

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