Angularjs 我可以使用角度过滤器按多个字段分组吗?

Angularjs 我可以使用角度过滤器按多个字段分组吗?,angularjs,group-by,angular-filters,Angularjs,Group By,Angular Filters,我使用的是的过滤器 来自GitHub的示例: $scope.players = [ {name: 'Gene', team: 'alpha'}, {name: 'George', team: 'beta'}, {name: 'Steve', team: 'gamma'}, {name: 'Paula', team: 'beta'}, {name: 'Scruath', team: 'gamma'} ]; <ul> <li ng-repeat="(key

我使用的是的过滤器

来自GitHub的示例:

$scope.players = [
  {name: 'Gene', team: 'alpha'},
  {name: 'George', team: 'beta'},
  {name: 'Steve', team: 'gamma'},
  {name: 'Paula', team: 'beta'},
  {name: 'Scruath', team: 'gamma'}
];

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

我想按团队年龄分组。我如何才能做到这一点?

尝试以下方法我假设您希望使用多个值作为标准创建组

ng-repeat="(key, value) in players | groupBy: '[team,age]'"

以多个字段为例

angular.module('app',['angular.filter']))
.controller('MainController',函数($scope){
$scope.players=[
{姓名:'Gene',团队:'alpha',年龄:19},
{姓名:'George',团队:'beta',年龄:19},
{姓名:'Steve',团队:'gamma',年龄:23},
{姓名:'Paula',团队:'beta',年龄:23},
{姓名:'Scruath',团队:'gamma',年龄:23}
];
});

JS-Bin
    组名:{{key}
  • 玩家:{{player.name}
    球队:{{player.team}
    年龄:{{player.age}

您是否尝试添加另一个groupBy?预期结果是什么?你试过什么?似乎嵌套的
groupBy
可以满足您的需要如何在html中单独访问多个键?关键似乎变成了一连串的“团队,年龄”我需要分开吗?{{key.team}}未定义。等来回答我自己的评论:
{{value[0].team}}
{{value[0].age}
就可以了。使用groupby,您应该能够对每个“团队”和“年龄”(或组)至少计数一行,因此无需检查
count>0
。远不是优雅,但它应该工作可靠。当使用多个字段作为密钥时,希望密钥变成json或其他东西。
ng-repeat="(key, value) in players | groupBy: '[team,age]'"