javascript - AngularJS Custom Filter orderBy sortPredicate not working -


the problem have array of recipe objects. each recipe object has comments on it. want sort array in angularjs controller using $filter service provided angular.

 $scope.recipes = $filter('orderby')($scope.data, function(recipe) {     return recipe.comments.length;   }); 

but not giving required results. however, i'm able achieve desired results using js array sort functionality this

$scope.data.sort(function(a, b) {      if (a.comments.length < b.comments.length) return 1;      if (b.comments.length < a.comments.length) return -1;      return 0;     }); 

the plunkr same scenario : http://plnkr.co/edit/l9bt67xhrcjlbowg8ezp?p=preview

thanks in advance. please help!

it can done lot simpler using orderby

http://plnkr.co/edit/b0fmi7fotgmg2tkcjyst?p=preview

 <ul>    <li ng-repeat="r in recipes | orderby:'-comments.length'">      {{r.title}} - {{r.comments.length}}    </li>  </ul> 

Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -