ponyfill or polyfill of Object.groupBy ES feature
npm install object-group-byebash
$ pnpm i object-group-bye
`
$3
`ts
import { ObjectGroupBy } from "object-group-bye"
const inventory = [
{ name: "asparagus", type: "vegetables", quantity: 5 },
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "goat", type: "meat", quantity: 23 },
{ name: "cherries", type: "fruit", quantity: 5 },
{ name: "fish", type: "meat", quantity: 22 },
];
const result = ObjectGroupBy(inventory, ({ type }) => type);
/* Result is:
{
vegetables: [
{ name: 'asparagus', type: 'vegetables', quantity: 5 },
],
fruit: [
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "cherries", type: "fruit", quantity: 5 }
],
meat: [
{ name: "goat", type: "meat", quantity: 23 },
{ name: "fish", type: "meat", quantity: 22 }
]
}
*/
`
This package also supports polyfill usage:
`ts
// import the polyfill at the top of your code
import "object-group-bye/polyfill"
// now you can use it directly with object.groupBy static method
const result = Object.groupBy(inventory, ({ type }) => type);
// ...
``