How do I sort this array:
[{"qwe":4}, {"rty":5}, {"asd":2}]
To get this:
[{"asd":2}, {"qwe":4}, {"rty":5}]
So that the array is sorted by the name of the key of the objects?
How do I sort this array:
[{"qwe":4}, {"rty":5}, {"asd":2}]
To get this:
[{"asd":2}, {"qwe":4}, {"rty":5}]
So that the array is sorted by the name of the key of the objects?
Something like this using Array.sort(compareFunction) ?
var myArray =[{"qwe":4}, {"rty":5}, {"asd":2}];
myArray.sort(function(a,b){
return (Object.keys(a)[0] > Object.keys(b)[0]) - 0.5;
});
console.log(myArray);
PSL's answer have one problem that is if your array has uppercase and lowercase keys i.e. "john", "Naveed" then this solution is not going to work correctly. Following changes need to be done:
let source = [{"john": 12},{"Ali": 10},{"Naveed": 18}];
var target = source.sort(function(a,b){
return (Object.keys(a)[0].toLowerCase() > Object.keys(b)[0].toLowerCase()) - 0.5;
});
console.log(target);