Mar*_*ark 3 javascript underscore.js
我有一个对象,其中包含从以下 JSON 加载的对象数组:
"accounts": [
{
"name": "aa",
"branch": {
"id": 1
}
}
{
"name": "bb",
"branch": {
"id": 1
}
}
{
"name": "cc",
"branch": {
"id": 2
}
}
]
Run Code Online (Sandbox Code Playgroud)
我想按分支 ID 对它们进行分组。如果我按“集合”分组,我只需这样做:
groupMap= _.groupBy(object, 'set');
Run Code Online (Sandbox Code Playgroud)
第一个和最后一个对象被分组在一起。但是我如何按属性的属性进行分组呢?
您可以传递一个函数来返回一个值,根据该值进行分组,如下所示
console.log(_.groupBy(obj.accounts, function(currentObject) {
return currentObject.branch.id;
}));
Run Code Online (Sandbox Code Playgroud)
输出
{
'1': [{
name: 'aa',
branch: {
id: 1
}
}, {
name: 'bb',
branch: {
id: 1
}
}],
'2': [{
name: 'cc',
branch: {
id: 2
}
}]
}
Run Code Online (Sandbox Code Playgroud)