グループ分け(Group By)
この関数はリストを取り、指定したパスにある元のリストの値でグループ分けしたオブジェクトを出力します。
返されるのは、指定したパスの値に従ってアイテム(例:オブジェクト、文字列、数値)のリストをグループ分けしたオブジェクトです。入力リストで指定したパスの一意の値には、それぞれオブジェクトの対応するキーがあります。返されるオブジェクト内のキーごとに、この関数はキーの指定のパスに一致する値を持つ入力リストからアイテムのリストを返します。
入力
| フィールド | 定義 | タイプ | 必須 |
|---|---|---|---|
|
リスト(list) |
指定したパスでグループ分けするオブジェクトのリスト。 |
オブジェクトのリスト | 正 |
|
パス(path) |
リストをグループ分けする値または要素。 |
テキスト | FALSE |
出力
| フィールド | 定義 | タイプ |
|---|---|---|
|
出力(output) |
出力オブジェクト。キーは元のリストの各要素のパスにある一意の値。 |
オブジェクト |
例
以下を入力として取るシンプルな例です。
list = [{"a":1},{"a":2},{"a":3},{"a":3},{"a":3}]
path = a
この関数は入力リストを取り、指定したパス(path)でグループ分けして以下を出力します。
{
"1": [ {"a": 1} ],
"2": [ {"a": 2} ],
"3":
[
{"a": 3},
{"a": 3},
{"a": 3}
]
}
以下を入力として取る、やや複雑な例です。
list =
[
{
"a": 1,
"b": {
"c": 2,
"d": 3
}
},
{
"a": 4,
"b": {
"c": 5,
"d": 6
}
},
{
"a": 7,
"b": {
"c": 8,
"d": 6
}
}
]
path = b.d
前述の入力に対して、関数はパスb.dの値を中心にグループ化されたオブジェクトを返します。
{
"3": [
{
"a": 1,
"b": {
"c": 2,
"d": 3
}
}
],
"6": [
{
"a": 4,
"b": {
"c": 5,
"d": 6
}
},
{
"a": 7,
"b": {
"c": 8,
"d": 6
}
}
]
}