JavaScriptのArray.sortは安定であるとは限らない

Chromeでのデバッグ中に気づいたことですが, JavaScriptのArray.sortは安定ソートであるとは限らないようです.

Array.sort – JavaScript | MDNによると

一部の JavaScript の実装では、a と b が等しい場合にそれらの添字の部分的な順序を変えない安定ソートが実装されています。もしソートする前の時点で a の添字が b のより小さいなら、ソートによって a と b がどう移動しようとも、ソートした後もそのままになるのです。

SpiderMonkey と Gecko 1.9 以降のすべての Mozilla ベースのブラウザでは、ソートは安定ソートになっています (バグ 224128 を参照)。

となっているので, Firefox 3.0以上なら安定ソートとなっているようです.