JavaScript对象数组Group By和Get值

时间:2016-02-16 13:57:57

标签: javascript angularjs html5 lodash

我想为groupBy上的下面的对象数组执行deptId,我应该能够使用AngularJS在页面上显示数据,如下所示

我有一个这样的对象:

var arr = [
     {deptId: '12345',deptName: 'Marketing', divId: '1231',divName: 'Lead'},
     {deptId: '12345',deptName: 'Marketing', divId: '8796',divName: 'Assistants'},
     {deptId: '32145',deptName: 'Sales', divId: '1231',divName: 'Lead'},
     {deptId: '32145',deptName: 'Sales', divId: '8796',divName: 'Assistants'},
     {deptId: '32145',deptName: 'Sales', divId: '8221',divName: 'Associates'}
]

在ui上显示如下

 Marketing
 <ul>
   <li>Lead 
   <li>Assistants
 </ul>
 Sales
 <ul>
   <li>Lead
   <li> Assistants
   <li> Associates
 </ul>

1 个答案:

答案 0 :(得分:1)

Lodash让你很容易做到:

var sortedDept = _.groupBy(arr, function(ite){return ite.deptName});

现在您可以通过sortedDept.Marketing访问 - &gt;给你一个只有营销相关对象的数组。

只显示这些值。