Groovy sorting by multiple properties:
List list = [ [id:0, firstName: 'Sachin', lastName: 'Tendulkar', age: 40 ], [id:1, firstName: 'Sachin', lastName: 'Tendulkar', age: 103 ], [id:2, firstName: 'Ajay', lastName: 'Tendulkar', age: 48 ], [id:3, firstName: 'Virendra', lastName: 'Sehwag', age: 5 ], [id:4, firstName: 'Virendra', lastName: 'Sehwag', age: 50 ], [id:5, firstName: 'Sachin', lastName: 'Nayyar', age: 15 ] ] def ids = list.sort { a,b -> a.firstName <=> b.firstName ?: a.lastName <=> b.lastName ?: a.age <=> b.age }*.id assert ids == [2, 5, 0, 1, 3, 4]
Javascript sorting by multiple properties:
http://stackoverflow.com/questions/9175268/javascript-sort-function-sort-by-first-then-by-second
objects = [] object[0] = {strength: 3, name: "Leo"} object[1] = {strength: 3, name: "Mike"} function cmp(a, b) { if (a > b) return +1; if (a < b) return -1; return 0; } array.sort(function(a, b) { return cmp(a.strength,b.strength) || cmp(a.name,b.name) })