So I have this array of users that looks something like this:
[{
userName: 'Jim',
roles: ['Member']
}, {
userName: 'Adam',
roles: ['Administrator']
}, {
userName: 'Suzy',
roles: ['SuperUser']
}, {
userName: 'Greg',
roles: ['SuperUser']
}, {
userName: 'Ady',
roles: ['Administrator']
}, {
userName: 'Jeremy',
roles: ['Administrator']
}]
I would like to sort this array by it's roles. I tried doing this:
items.sort(function (a, b) {
var aValue = a.roles[0];
var bValue = b.roles[0];
if (aValue < bValue) return -1;
if (aValue > bValue) return -1;
return 0;
});
But it doesn't do what I expect. Does anyone know how to solve this issue?
-1for two comparison cases. One should return1, depending on your sort order (ascending or descending)