orderBy vários campos no Angular

Como classificar usando vários campos ao mesmo tempo em angular? punho por grupo e, em seguida, por subgrupo por exemplo

$scope.divisions = [{'group':1,'sub':1}, {'group':2,'sub':10}, {'group':1,'sub':2},{'group':1,'sub':20},{'group':2,'sub':1}, {'group':2,'sub':11}]; 

Eu queria mostrar isso como

grupo: subgrupo

1 – 1

1 – 2

1 a 20

2 – 1

2 a 10

2 – 11

  

Por favor veja isto:

http://jsfiddle.net/JSWorld/Hp4W7/32/

 
{{division.group}}-{{division.sub}}

Se você quiser classificar em vários campos dentro do controlador use este

 $filter('orderBy')($scope.property_list, ['firstProp', 'secondProp']); 

Veja também https://docs.angularjs.org/api/ng/filter/orderBy

  

Matriz de usuários em vez de vários orderBY

A sorting pode ser feita usando o filtro ‘orderBy’ em angular.

Duas maneiras: 1. Da vista 2. Do controlador

  1. De vista

Sintaxe:

 {{array | orderBy : expression : reverse}} 

Por exemplo:

  
{{user.name}}
  1. Do controlador

Sintaxe:

 $filter.orderBy(array, expression, reverse); 

Por exemplo:

 $scope.filteredArray = $filter.orderBy($scope.users, ['name', 'age'], true); 

Existem duas maneiras de fazer filtros AngularJs, um no HTML usando {{}} e um em arquivos JS reais …

Você pode resolver seu problema usando:

 {{ Expression | orderBy : expression : reverse}} 

se você usá-lo no HTML ou usar algo como:

 $filter('orderBy')(yourArray, yourExpression, reverse) 

O reverso é opcional no final, ele aceita um booleano e, se for verdade, ele inverterá o Array para você, uma maneira muito útil de reverter seu Array …

Eu escrevi esta peça útil para ordenar por várias colunas / propriedades de um object. Com cada clique de coluna sucessivo, o código armazena a última coluna clicada e a adiciona a uma lista crescente de nomes de string de coluna clicados, colocando-os em uma matriz chamada sortArray. O filtro “orderBy” angular embutido simplesmente lê a lista sortArray e ordena as colunas pela ordem dos nomes das colunas ali armazenadas. Portanto, o último nome da coluna clicada se torna o filtro ordenado primário, o anterior clicou na próxima precedência, etc. A ordem inversa afeta todas as colunas de uma só vez e alterna entre ascendente / descendente para o conjunto completo de listas de matrizes:

  
NAME FISH TASTINESS
{{ s.name }} {{ s.fish }} {{ s.tastiness }}

Certifique-se de que a sorting não seja complicada para o usuário final. Eu sempre achei que classificar no grupo e subgrupo é um pouco complicado de entender. Se for um usuário final técnico, pode ser OK.