orderByFiltro AngularJS


Exemplo

Exiba os itens em ordem alfabética:

<div ng-app="myApp" ng-controller="orderCtrl">

<ul>
<li ng-repeat="x in cars | orderBy">{{x}}</li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('orderCtrl', function($scope) {
    $scope.cars = ["Dodge", "Fiat", "Audi", "Volvo", "BMW", "Ford"];
});
</script>

Definição e uso

O orderByfiltro nos permite classificar uma matriz.

Por padrão, as strings são classificadas em ordem alfabética e os números são classificados numericamente.


Sintaxe

{{ array | orderBy : expression : reverse }}

Valores de parâmetro

Value Description
expression The expression used to determine the order. The expression can be of type:

String: If the array is an array of objects, you can sort the array by the value of one of the object properties. See the examples below.

Function: You can create a function to organize the sorting.

Array: Use an array if you need more than one object property to determine the sorting order. The array items can be both strings and functions.
reverse Optional. Set to true if you want to reverse the order of the array.


Mais exemplos

Exemplo

Classifique a matriz por "cidade":

<div ng-app="myApp" ng-controller="orderCtrl">

<ul>
<li ng-repeat="x in customers | orderBy : 'city'">{{x.name + ", " + x.city}}</li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('orderCtrl', function($scope) {
    $scope.customers = [
        {"name" : "Bottom-Dollar Marketse" ,"city" : "Tsawassen"},
        {"name" : "Alfreds Futterkiste", "city" : "Berlin"},
        {"name" : "Bon app", "city" : "Marseille"},
        {"name" : "Cactus Comidas para llevar", "city" : "Buenos Aires"},
        {"name" : "Bolido Comidas preparadas", "city" : "Madrid"},
        {"name" : "Around the Horn", "city" : "London"},
        {"name" : "B's Beverages", "city" : "London"}
    ];
});
</script>

Exemplo

Classifique a matriz por "cidade", em ordem decrescente:

<div ng-app="myApp" ng-controller="orderCtrl">

<ul>
<li ng-repeat="x in customers | orderBy : '-city'">{{x.name + ", " + x.city}}</li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('orderCtrl', function($scope) {
    $scope.customers = [
        {"name" : "Bottom-Dollar Marketse" ,"city" : "Tsawassen"},
        {"name" : "Alfreds Futterkiste", "city" : "Berlin"},
        {"name" : "Bon app", "city" : "Marseille"},
        {"name" : "Cactus Comidas para llevar", "city" : "Buenos Aires"},
        {"name" : "Bolido Comidas preparadas", "city" : "Madrid"},
        {"name" : "Around the Horn", "city" : "London"},
        {"name" : "B's Beverages", "city" : "London"}
    ];
});
</script>

Páginas relacionadas

Tutorial AngularJS: Filtros Angulares