1

Here is my actual code on which no sorting applied

        var filteredResults = [];

        vm.searchResults.forEach(function (item) {
            filteredResults.push(item);
        });

        if (vm.selectedPolicyType === '' && vm.selectedYear === '') {
            vm.filteredResults = filteredResults;
            return;
        }

I want to sort in ascending so i did like this but its not working

         if (vm.selectedPolicyType === '' && vm.selectedYear === '') {

            vm.filteredResults = _.sortBy(filteredResults, function(abc) { return abc});
         }
JuniorDev
  • 193
  • 1
  • 2
  • 13

2 Answers2

3

Your sortBy function needs to sort by a property contained within your object. For example, by name...

_.sortBy(filteredResults, function(abc) { return abc.name; });
xspydr
  • 3,030
  • 3
  • 31
  • 49
  • 1
    Or you can look not this answer for how to sort by multiple values: http://stackoverflow.com/questions/16426774/underscore-sortby-based-on-multiple-attributes – Jason Sperske Jan 23 '14 at 19:23
1

Here are a couple of examples:

    var people = [ 
        { name: 'Del', age: 50 },
        { name: 'Rodney', age: 30},
        { name: 'Trigger', age: 48 }
    ];

    var youngestFirst = _.sortBy(people, function(person){
        return person.age;
    });

    var oldestFirst = _.sortBy(people, function(person){
        return -person.age;
    });
Gruff Bunny
  • 27,738
  • 10
  • 72
  • 59