Javascript 如何使用AngularJS在角度过滤器中使用2列来分组
我有一个具有3个属性名称的对象数组 1.姓名 2.团队 3.年龄 我想要同时包含年龄和团队的分组。我完成了团队分组,但我不清楚在我当前的代码中如何需要同时包含团队和年龄 我需要用球队名称显示球队的年龄。请建议我该怎么做 JS: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
$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:是的,但我想要解决方案如何修改我的代码