У меня есть массив userList
:
[
{email : 'abc@gmail.com',
department : 'd1'},
{email : 'abc@gmail.com',
department : 'd2'},
{email : 'dec@gmail.com',
department : 'd1'},
]
Я хотел, чтобы он был таким:
[
{
email : 'abc@gmail.com',
department : ['d1','d2']
},
{
email : 'dec@gmail.com',
department : ['d1']
}
]
Я добился этого используя:
const userGrp = _.groupBy(userList, 'email');
let data = [];
for (let key in userGrp) {
if (userGrp.hasOwnProperty(key)) {
const obj = {
email: key,
dept: extractDept(userGrp[key]),
};
data.push(obj);
}
}
function extractDept(userObjList) {
const arr = [];
userObjList.forEach((element) => {
arr.push(element.departmentName);
});
return arr;
}
Как я могу добиться этого, используя lodash
?