javascript 連想配列の複数のキーについてソート

便利なのでハックに残しておきます。使える時は勿論、値が数値の時だけです…

var test = [
  {a: 1, b: 30 },
  {a: 2, b: 21 },
  {a: 2, b: 10 },
  {a: 1, b:  5 }
];

// ソート処理
test.sort(function(x, y){
  return x.a - y.a || x.b - y.b;
});

// result
// test -> [
//  {a: 1, b:  5 },
//  {a: 1, b: 30 },
//  {a: 2, b: 10 },
//  {a: 2, b: 21 }
// ];