time-to-botec/js/node_modules/@stdlib/utils/bifurcate-own/docs/repl.txt
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

64 lines
1.8 KiB
Plaintext

{{alias}}( obj, [options,] predicate )
Splits values into two groups according to a predicate function.
When invoked, the predicate function is provided two arguments:
- `value`: object value
- `key`: object key
If a predicate function returns a truthy value, a value is placed in the
first group; otherwise, a value is placed in the second group.
If provided an empty object, the function returns an empty array.
The function iterates over an object's own properties.
Key iteration order is *not* guaranteed, and, thus, result order is *not*
guaranteed.
Parameters
----------
obj: Object|Array|TypedArray
Input object to group.
options: Object (optional)
Options.
options.thisArg: any (optional)
Execution context.
options.returns: string (optional)
If `values`, values are returned; if `keys`, keys are returned; if `*`,
both keys and values are returned. Default: 'values'.
predicate: Function
Predicate function indicating which group a value in the input object
belongs to.
Returns
-------
out: Array<Array>|Array
Group results.
Examples
--------
> function predicate( v ) { return v[ 0 ] === 'b'; };
> var obj = { 'a': 'beep', 'b': 'boop', 'c': 'foo', 'd': 'bar' };
> var out = {{alias}}( obj, predicate )
[ [ 'beep', 'boop', 'bar' ], [ 'foo' ] ]
// Output group results as keys:
> var opts = { 'returns': 'keys' };
> out = {{alias}}( obj, opts, predicate )
[ [ 'a', 'b', 'd' ], [ 'c' ] ]
// Output group results as key-value pairs:
> opts = { 'returns': '*' };
> out = {{alias}}( obj, opts, predicate )
[ [ ['a', 'beep'], ['b', 'boop'], ['d', 'bar'] ], [ ['c', 'foo' ] ] ]
See Also
--------