groupBy lodash code example
Example 1: lodash deep clone object
const clone = require('lodash/clone');
const cloneDeep = require('lodash/clonedeep');
const shallowCopy = clone(originalObject);
const deepCopy = clonedeep(originalObject);
Example 2: how to collect keys using lodash javascript
import * as _ from 'lodash';
const objectMap = {'key1': 'value1', 'key2': 'value2'};
const allKeys = _.keys(objectMap);
Example 3: lodash merge
import merge from 'lodash/merge'
let object = { 'a': [{ 'b': 2 }, { 'd': 4 }]};
let other = { 'a': [{ 'c': 3 }, { 'e': 5 }]};
merge(object, other);
Example 4: lodash groupby return array
export const groupArrayBy = (arr, groupBy) => {
let newArr = []
arr.map((item) => {
if(item[groupBy]) {
let finded = newArr.filter((newItem) => newItem[groupBy] === item[groupBy])
if(finded.length > 0) {
finded[0].products.push(item)
} else {
newArr.push({category: item[groupBy], products: [item]})
}
}
})
return newArr
}
Example 5: lodash groupby return array
let arr = [{
"birthdate": "1993",
"name": "Ben"
},
{
"birthdate": "1994",
"name": "John"
},
{
"birthdate": "1995",
"name": "Larry"
},
{
"birthdate": "1995",
"name": "Nicole"
},
{
"birthdate": "1996",
"name": "Jane"
},
{
"birthdate": "1996",
"name": "Janet"
},
{
"birthdate": "1996",
"name": "Dora"
},
];
const res = arr.reduce((ac, a) => {
let temp = ac.find(x => x.birthdate === a.birthdate);
if (!temp) ac.push({ ...a,
name: [a.name]
})
else temp.name.push(a.name)
return ac;
}, [])
console.log(res);
Example 6: lodash groupby return array
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>