team.id, . , . , . , team.id -
<body ng-app="myApp">
<div ng-controller="MainController">
<ul>
<li ng-repeat="(team, players) in players | groupBy: 'team.id'">
<a href="{{ team }} ">Group name: {{ teams[team].name }}</a>
<ul>
<li ng-repeat="player in players">
player: {{ player.name }}
</li>
</ul>
</li>
</ul>
</div>
</body>
AngularJS
var app = angular.module('myApp',['angular.filter']);
app.controller('MainController', ['$scope', function($scope){
$scope.players = [
{
name: 'Gene',
team: {
'id' : '1',
'name' : 'alpha'
}
}, {
name: 'George',
team: {
'id' : '2',
'name' : 'beta'
}
}, {
name: 'Steve',
team: {
'id' : '3',
'name' : 'gamma'
}
}, {
name: 'Paula',
team: {
'id' : '4',
'name' : 'beta'
}
}, {
name: 'Scruath',
team: {
'id' : '5',
'name' : 'gamma'
}
}];
$scope.teams = {};
$scope.players.forEach(function (player) {
if (angular.isUndefined($scope.teams[player.team.id])) {
$scope.teams[player.team.id] = player.team;
}
});
}]);