I have a JSON object like below:
[
    {
        "name": "Robert",
        "age":32,
        "country": "UK"
    },
    {
        "name": "Prasad",
        "age":28,
        "country": "India"
    },
    {
        "name": "Benny",
        "age":45,
        "country": "USA"
    },
    {
        "name": "Robin",
        "age":34,
        "country": "UK"
    },
    {
        "name": "Bob",
        "age":20,
        "country": "India"
    }
]
I have applied the array sorting for "name" column alone. I want to apply sort for “name” column first and then “age”.
This is how i sort the array by name:
var sort_by = function(field, reverse, primer){
   var key = primer ? 
     function(x) {return primer(x[field])} : 
     function(x) {return x[field]};
     reverse = [-1, 1][+!!reverse];
     return function (a, b) {
            return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
        }
} 
Call the sort function:
arrayToSort.sort(
    sort_by( “name”, true, function(a){
    return a.toUpperCase();
}) );   
How can I get the array sorted like below?
[{
    "name": "Bob",
    "age":20,
    "country": "India"
},
{
    "name": "Benny",
    "age":45,
    "country": "USA"
},
{
    "name": "Prasad",
    "age":28,
    "country": "India"
},
{
    "name": "Robert",
    "age":32,
    "country": "UK"
},
{
    "name": "Robin",
    "age":34,
    "country": "UK"
}]
 
     
     
    