AngularJS orderBy
Filter
Example
Display the items alphabetically:
<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>
Try it yourself »
Definition and Usage
The orderBy
filter allows us to sort an array.
By default, strings are sorted alphabetically, and numbers are sorted numerically.
Syntax
{{ array | orderBy :
expression :
reverse }}
Parameter Values
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. |
More Examples
Example
Sort the array by "city":
<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>
Try it yourself »
Example
Sort the array by "city", in descending order:
<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>
Try it yourself »
Related Pages
AngularJS Tutorial: Angular Filters