Javascript の Array#sort はデフォルトで要素を文字列としてソートする
Array#sort はデフォルトで要素を文字列としてソートするようだ。
Core JavaScript 1.5 Reference:Global Objects:Array:sort
それを知らずにはまった。要素を数値として比較したい場合は比較関数を引数に指定する。
[1,8,11].sort(); // => [1,11,8] [1,8,11].sort(function(a, b) { return a - b; }); // => [1,8,11]
Array#sort は用法を守ってきちんと使いましょう。