Group By
This function takes a list and outputs an object that's grouped by the values in the original list at the specified path.
Returns an object that groups a list of items (for example, objects, strings, numbers) by the specified path's values. Each unique value for the specified path in the input list will have a corresponding key in the object. For each key in the returned object, this function returns a list of items from the input list that have a matching value to the key's specified path.
Examples
A simple example takes the following as inputs:
list =
[
{"a": 1},
{"a": 2},
{"a": 3},
{"a": 3},
{"a": 3}
]
path = a
This function takes the input list, groups it by the specified path and outputs the following:
{
"1": [ {"a": 1} ],
"2": [ {"a": 2} ],
"3":
[
{"a": 3},
{"a": 3},
{"a": 3}
]
}
A slightly more involved example takes the following inputs:
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
For the preceding input, the function outputs an object that's grouped around the values at the path 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
}
}
]
}
}
],
"3":
[
{"a": 3},
{"a": 3},
{"a": 3}
]
}
Input Fields
- list (List of items (objects, strings, numbers)) - the list of objects that you want to group by the specified path
- path (String) - the value or element to group the list by
Output Fields
- output - the output object, where the keys are the unique values at the path from each element in the original list