Condition: les données sont triées selon l'attribut id de petit à grand, et si l'identifiant est le même, alors il est trié selon le sid de petit à grand pour obtenir:
var data = [
{"id": 1, "sid": 3},
{"id": 2, "sid": 2},
{"id": 3, "sid": 4},
{"id": 1, "sid": 1},
{"id": 1, "sid": 2}];
data.sort(function (a, b) {
if (a.id != b.id) {
return a.id - b.id;
}
return a.sid - b.sid;
});
console.log(data);