如何在AngularJS中对JSON数据进行分组

3
  [{name: 'A', team: 'team alpha', value:"10"},
  {name: 'A', team: 'team beta' value:"20"},
    {name: 'A', team: 'team gamma' value:"40"},
  {name: 'B', team: 'team alpha' value:"15"},
  {name: 'B', team: 'team beta' value:"25"},
  {name: 'C ', team: 'team alpha' value:"30"}];

我希望将我的数据分组,以便获得以下结构:
    name:A
    team alpha: 10
    team beta: 20
    team gamma:40

   name:B
    team alpha:15
    team beta:25

   name:C
   team alpha:30

我在网上查找但无法找到一种方法来对这种结构进行分组。是否有一种方法可以按照以上提到的格式在angularjs中对数据进行分组或过滤。任何帮助都将不胜感激。


你需要根据团队名称获取值吗?你尝试过循环和条件语句吗? - Dinith Minura
@DinithMinura 这会让事情变得更加复杂,似乎不是可行的解决方案。 - sachin hunur
1个回答

4

Working Demo

HTML

<ul ng-repeat="(key, value) in players | groupBy: 'name'">
  <li>name: {{ key }}
     <ul>
        <li ng-repeat="player in value">
          {{ player.team }} : {{player.value}} 
        </li>
     </ul>
  </li>
</ul>

JavaScript:

$scope.players = [
      {name: 'A', team: 'team alpha', value:10},
      {name: 'A', team: 'team beta',value:20},
      {name: 'A', team: 'team gamma',value:40},
      {name: 'B', team: 'team alpha',value:15},
      {name: 'B', team: 'team beta',value:25},
      {name: 'C', team: 'team alpha',value:30}
    ];

具体细节请查看此答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接