55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
|
|
||
|
{{alias}}( collection, [options,] groups )
|
||
|
Groups values as arrays associated with distinct keys.
|
||
|
|
||
|
If provided an empty collection, the function returns an empty object.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
collection: Array|TypedArray|Object
|
||
|
Input collection to group. If provided an object, the object must be
|
||
|
array-like (excluding strings and functions).
|
||
|
|
||
|
options: Object (optional)
|
||
|
Options.
|
||
|
|
||
|
options.returns: string (optional)
|
||
|
If `values`, values are returned; if `indices`, indices are returned; if
|
||
|
`*`, both indices and values are returned. Default: 'values'.
|
||
|
|
||
|
groups: Array|TypedArray|Object
|
||
|
A collection defining which group an element in the input collection
|
||
|
belongs to. Each value in `groups` should resolve to a value which can
|
||
|
be serialized as an object key. If provided an object, the object must
|
||
|
be array-like (excluding strings and functions).
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
out: Object
|
||
|
Group results.
|
||
|
|
||
|
Examples
|
||
|
--------
|
||
|
> var collection = [ 'beep', 'boop', 'foo', 'bar' ];
|
||
|
> var groups = [ 'b', 'b', 'f', 'b' ];
|
||
|
> var out = {{alias}}( collection, groups )
|
||
|
{ 'b': [ 'beep', 'boop', 'bar' ], 'f': [ 'foo' ] }
|
||
|
> groups = [ 1, 1, 2, 1 ];
|
||
|
> out = {{alias}}( collection, groups )
|
||
|
{ '1': [ 'beep', 'boop', 'bar' ], '2': [ 'foo' ] }
|
||
|
|
||
|
// Output group results as indices:
|
||
|
> groups = [ 'b', 'b', 'f', 'b' ];
|
||
|
> var opts = { 'returns': 'indices' };
|
||
|
> out = {{alias}}( collection, opts, groups )
|
||
|
{ 'b': [ 0, 1, 3 ], 'f': [ 2 ] }
|
||
|
|
||
|
// Output group results as index-element pairs:
|
||
|
> opts = { 'returns': '*' };
|
||
|
> out = {{alias}}( collection, opts, groups )
|
||
|
{ 'b': [ [0, 'beep'], [1, 'boop'], [3, 'bar'] ], 'f': [ [2, 'foo'] ] }
|
||
|
|
||
|
See Also
|
||
|
--------
|
||
|
|