multi sort object array
sort by two fields
by John Allan
JavaScript
cmp = function(a, b) {
if (a > b) return +1;
if (a < b) return -1;
return 0;
}
var array = [
{
order: '1',
parentUrl: 'folder2'
},
{
order: '1',
parentUrl: 'folder1'
},
{
order: '2',
parentUrl: 'folder1'
},
{
order: '2',
parentUrl: 'folder2'
},
{
order: '5',
parentUrl: 'folder1'
},
{
order: '3',
parentUrl: 'folder2'
}
];
array.sort(function(a, b) {
return cmp(a.parentUrl,b.parentUrl) ||
cmp(a.order,b.order)
})
for (var i = 0; i < array.length; i++) {
document.write(array[i].parentUrl + array[i].order + '<br>');
}