groupBy

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

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

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

パラメータ

Name (名前) 説明

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> }

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

パラメータ

Name (名前) 説明

object

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

criteria

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

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

ソース

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

出力

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

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

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

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub