Array.prototype.groupBy
ponyfill.
A proposal to make grouping of items in an array easier.
npm install array-group-by-ponyfill --save
import groupBy from 'array-group-by-ponyfill';
groupBy([1, 2, 3, 4, 5], (value) => (value % 2 === 0 ? 'even' : 'odd'));
// { odd: [1, 3, 5], even: [2, 4] }
You can use named export preferNative
if you wish to use native
implementation if it’s available. In all other cases, ponyfill will be used.
Beware of
caveats!
Returns: object
Group array items.
Type: any[]
Array to group.
Type: Function
Callback which should return key with which to group array.
Argument | Type | Description |
---|---|---|
value |
any |
Current iteration value. |
index |
number |
Current iteration index. |
array |
any[] |
Original array reference. |
Tested in Chrome 72, Edge 15, Firefox 65 and should work in all modern browsers (support based on Browserslist configuration).
Test suite is taken and modified from core-js test suite.
For automated tests, run npm run test:automated
(append :watch
for watcher
support).
MIT © Ivan Nikolić