我有一个对象,它包含从以下JSON加载的对象数组:
"accounts": [
{
"name": "aa",
"branch": {
"id": 1
}
}
{
"name": "bb",
"branch": {
"id": 1
}
}
{
"name": "cc",
"branch": {
"id": 2
}
}
]
我想通过分支ID对它们进行分组。如果我按" set"分组,我只是这样做:
groupMap= _.groupBy(object, 'set');
第一个和最后一个对象组合在一起。但是我如何按财产的属性进行分组?
答案 0 :(得分:2)
您可以传递一个函数来返回一个值,根据该值进行分组,例如
console.log(_.groupBy(obj.accounts, function(currentObject) {
return currentObject.branch.id;
}));
<强>输出强>
{
'1': [{
name: 'aa',
branch: {
id: 1
}
}, {
name: 'bb',
branch: {
id: 1
}
}],
'2': [{
name: 'cc',
branch: {
id: 2
}
}]
}