2016-06-09 3 views
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"}]; 

Я хочу, чтобы сгруппировать мои DAT таким образом, что я получаю следующую структуру:как группировать данные JSon в angularjs

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 в вышеупомянутом формате. Любая помощь будет оценена по достоинству.

+0

Вам нужно получить значения в соответствии с именами команд? Не пытались ли петли и условия? –

+0

@DinithMinura Это очень усложнит ситуацию и, похоже, не будет приемлемым решением. –

ответ

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} 
    ]; 

Для деталей, have a look at this answer.

Смежные вопросы