HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/bomacon.komma.pro/node_modules/collect.js/docs/api/groupBy.md
# `groupBy()`

The groupBy method groups the collection's items by a given key:

```js
const collection = collect([
  {
    product: 'Chair',
    manufacturer: 'IKEA',
  },
  {
    product: 'Desk',
    manufacturer: 'IKEA',
  },
  {
    product: 'Chair',
    manufacturer: 'Herman Miller',
  },
]);

const grouped = collection.groupBy('manufacturer');

grouped.all();

// {
//   IKEA: [
//     {
//       id: 100,
//       product: 'Chair',
//       manufacturer: 'IKEA',
//       price: '1490 NOK',
//     },
//     {
//       id: 150,
//       product: 'Desk',
//       manufacturer: 'IKEA',
//       price: '900 NOK',
//     },
//   ],
//   'Herman Miller': [
//     {
//       id: 200,
//       product: 'Chair',
//       manufacturer: 'Herman Miller',
//       price: '9990 NOK',
//     },
//   ]
// }
```

In addition to passing a string key, you may also pass a callback. The callback should return the value you wish to key the group by:

```js
const collection = collect([
  {
    product: 'Chair',
    manufacturer: 'IKEA',
  },
  {
    product: 'Desk',
    manufacturer: 'IKEA',
  },
  {
    product: 'Chair',
    manufacturer: 'Herman Miller',
  },
]);

const grouped = collection.groupBy((item, key) => item.manufacturer.substring(0, 3));

grouped.all();

// {
//   IKE: [
//     {
//       id: 100,
//       product: 'Chair',
//       manufacturer: 'IKEA',
//       price: '1490 NOK',
//     },
//     {
//       id: 150,
//       product: 'Desk',
//       manufacturer: 'IKEA',
//       price: '900 NOK',
//     },
//   ],
//   Her: [
//     {
//       id: 200,
//       product: 'Chair',
//       manufacturer: 'Herman Miller',
//       price: '9990 NOK',
//     },
//   ]
// }
```

[View source on GitHub](https://github.com/ecrmnn/collect.js/blob/master/src/methods/groupBy.js)