sorting values of a hash object in ngRepeat - angularJS
angularjs, hash, object
Solution
If you check the documentation it says that the expression in orderBy can be a function, a string or an Array. An therefore you need dateReleased to be a string: 'dateReleased'
Also you need your phones Object be an actual Array.
Try:
$scope.phones = [{
"name":"Phone Name1",
"dateReleased":"2012-1-09 15:48:24"
},{
"name": "Phone Name2",
"dateReleased":"2012-3-12 15:32:11"
},{
"name": "Phone Name3",
"dateReleased":"2012-2-10 13:53:32"
}];
<li ng-repeat="phone in phones | orderBy:'dateReleased':true">
<p>{{phone.name}}</p>
<p>{{phone.dateReleased}}</p>
</li>
Problem
I have an object like this: ``` $scope.phones = new Object(); $scope.phones['id1'] = { "name":"Phone Name1", "dateReleased":"2012-1-09 15:48:24" }; $scope.phones['id2'] = { "name": "Phone Name2", "dateReleased":"2012-3-12 15:32:11" }; $scope.phones['id3'] = { "name": "Phone Name3", "dateReleased":"2012-2-10 13:53:32" }; ``` I'm displaying this using ngRepeat. I'm not able to order by `dateReleased`. Also, ordering in reverse isn't working. My ngRepeat looks this: ``` <li ng-repeat="phone in phones | orderBy:dateReleased:true"> <p>{{phone.name}}</p> <p>{{phone.dateReleased}}</p> </li> ```