JuniorDev
JuniorDev

Reputation: 193

I have an array i want to sort it in ascending order using underscore js

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});
         }

Upvotes: 1

Views: 111

Answers (2)

Gruff Bunny
Gruff Bunny

Reputation: 27976

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;
    });

Upvotes: 1

xspydr
xspydr

Reputation: 3050

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

_.sortBy(filteredResults, function(abc) { return abc.name; });

Upvotes: 3

Related Questions