A multi-level groupBy for arrays. Nesting allows elements in an array to be grouped into a hierarchical tree structure; think of it like the GROUP BY operator in SQL, except you can have multiple levels of grouping, and the resulting output is a tree rath
npm install nested-groupby*
Nested Groupby is a node module to group objects in an array similar to Lodash's groupBy
method, but to group the objects by more than one key.
*
See this Codepen for demo.
``js
import nestedGroupby from 'nested-groupby';
// For commonjs
// const nestedGroupby = require('nested-groupby');
const data = [
{ type: 'apple', color: 'green', quantity: 1000 },
{ type: 'apple', color: 'red', quantity: 2000 },
{ type: 'grape', color: 'green', quantity: 1000 },
{ type: 'grape', color: 'red', quantity: 4000 },
];
nestedGroupby(data, ['type', 'color']);
// output will be the following
// {
// apple: {
// green: [ { type: 'apple', color: 'green', quantity: 1000 } ],
// red: [ { type: 'apple', color: 'red', quantity: 2000 } ]
// },
// grape: {
// green: [ { type: 'grape', color: 'green', quantity: 1000 } ],
// red: [ { type: 'grape', color: 'red', quantity: 4000 } ]
// }
// }
``