I have an array as follows:
var array = {"week1":[{"id":1,"name":"x","mark":"20"},{"id":2,"name":"y","mark":"30"}],"week2":[{"id":1,"name":"x","mark":"40"},{"id":2,"name":"y","mark":"60"},{"id":3,"name":"z","mark":"10"}]}
I want to sort the array by mark field. How can I achieve this?
UPDATE
I used the following function to sort the above array object by mark.
$scope.GetSortOrder = function(prop) {
return function(a, b) {
if (a[prop] > b[prop]) {
return 1;
} else if (a[prop] < b[prop]) {
return -1;
}
return 0;
}
};
array.sort($scope.GetSortOrder("mark"));
But then I get the following error
array.sort is not a function
Desired output
var outPut =
{
"week1":[
{"id":1,"name":"x","mark":"20"},
{"id":2,"name":"y","mark":"30"}
],
"week2":[
{"id":3,"name":"z","mark":"10"},
{"id":1,"name":"x","mark":"40"},
{"id":2,"name":"y","mark":"60"}
]
}