Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用AngularJS在角度过滤器中使用2列来分组_Javascript_Angularjs_Angular Filters - Fatal编程技术网

Javascript 如何使用AngularJS在角度过滤器中使用2列来分组

Javascript 如何使用AngularJS在角度过滤器中使用2列来分组,javascript,angularjs,angular-filters,Javascript,Angularjs,Angular Filters,我有一个具有3个属性名称的对象数组 1.姓名 2.团队 3.年龄 我想要同时包含年龄和团队的分组。我完成了团队分组,但我不清楚在我当前的代码中如何需要同时包含团队和年龄 我需要用球队名称显示球队的年龄。请建议我该怎么做 JS: $scope.MyList = [ {name: 'Gene', team: 'alpha', age: 19}, {name: 'George', team: 'beta', age: 19}, {name: 'Steve', tea

我有一个具有3个属性名称的对象数组

1.姓名 2.团队 3.年龄

我想要同时包含年龄和团队的分组。我完成了团队分组,但我不清楚在我当前的代码中如何需要同时包含团队和年龄

我需要用球队名称显示球队的年龄。请建议我该怎么做

JS:

 $scope.MyList = [
    {name: 'Gene', team: 'alpha', age: 19},
      {name: 'George', team: 'beta', age: 19},
      {name: 'Steve', team: 'gamma', age: 23},
      {name: 'Paula', team: 'beta', age: 23},
      {name: 'Scruath', team: 'gamma', age: 23},
      {name: 'Scruath 1', team: 'gamma', age: 22},
      {name: 'Scruath 2', team: 'gamma', age: 22}
                    ];
    $scope.getGroups = function () {
        var groupArray = [];
        angular.forEach($scope.MyList, function (item, idx) {
            if (groupArray.indexOf(item.team) == -1){ groupArray.push(item.team)
            }
        });
        return groupArray.sort();
    }
  <div ng-repeat='group in getGroups()'>
             <h2>{{group}}</h2>
              <ul>
                <li ng-repeat="item in MyList |  groupby:group">{{item.name}}</li>
            </ul>
        </div>
HTML:

 $scope.MyList = [
    {name: 'Gene', team: 'alpha', age: 19},
      {name: 'George', team: 'beta', age: 19},
      {name: 'Steve', team: 'gamma', age: 23},
      {name: 'Paula', team: 'beta', age: 23},
      {name: 'Scruath', team: 'gamma', age: 23},
      {name: 'Scruath 1', team: 'gamma', age: 22},
      {name: 'Scruath 2', team: 'gamma', age: 22}
                    ];
    $scope.getGroups = function () {
        var groupArray = [];
        angular.forEach($scope.MyList, function (item, idx) {
            if (groupArray.indexOf(item.team) == -1){ groupArray.push(item.team)
            }
        });
        return groupArray.sort();
    }
  <div ng-repeat='group in getGroups()'>
             <h2>{{group}}</h2>
              <ul>
                <li ng-repeat="item in MyList |  groupby:group">{{item.name}}</li>
            </ul>
        </div>

{{group}}
  • {{{item.name}

你可以这样做

 <ul ng-repeat="(key, value) in MyList | groupBy: '[team,name]'">
 <b>Group name: {{key}}</b>
 <br>
 <li ng-repeat="player in value">
  <b>player:</b> {{ player.name }} 
  <br>
  <b>team:</b> {{player.team}} 
 </li>
</ul>
    组名:{{key}
  • 玩家:{{player.name}
    球队:{{player.team}

有关更多详细信息,您可以这样做

 <ul ng-repeat="(key, value) in MyList | groupBy: '[team,name]'">
 <b>Group name: {{key}}</b>
 <br>
 <li ng-repeat="player in value">
  <b>player:</b> {{ player.name }} 
  <br>
  <b>team:</b> {{player.team}} 
 </li>
</ul>
    组名:{{key}
  • 玩家:{{player.name}
    球队:{{player.team}

有关更多详细信息,您可以

Groupby在我的应用程序中不起作用的原因您知道在我的代码中存档吗?您知道这将非常有用您还想使用名称分组吗?我不明白,请指导我需要在何处更改我的代码以存档您想做什么?Groupby在我的应用程序中不起作用的原因你有想法在我的代码中存档吗?你有想法这真的会很有帮助吗你还想按名称分组吗?我不明白,请指导我需要在哪里更改代码以存档这是你想做的事?@Maxim Shoustin:是的,但我想要解决方案如何修改我的代码@Maxim Shoustin:是的,但我想要解决方案如何修改我的代码