ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の Array.sort() メソッドはすべてのブラウザで安定していますか?
はじめに
配列のソートは JavaScript の基本的な操作です。ただし、Array.sort() メソッドの安定性はブラウザによって異なります。
ECMA スクリプトと安定性
ECMA スクリプト仕様では、特定の並べ替えアルゴリズムが定義されていません。または、ソートを安定させるかどうかを指定します。これは、異なるブラウザーが異なるアプローチを実装する可能性があり、その結果、安定性特性が異なる可能性があることを意味します。
特定のブラウザー間の安定性
不安定
テスト ケースの例
<code class="javascript">function Pair(_x, _y) { this.x = _x; this.y = _y; } function pairSort(a, b) { return a.x - b.x; } var check = []; for (var i = 0; i < 100; ++i) { check.push(new Pair(Math.random() * 3 + 1, ++y)); } check.sort(pairSort);</code>
並べ替えメソッドの安定性を実証するために、値のペアを含むテスト ケースを使用します。作成できます:
並べ替えが安定している場合、値は最初に x 値に基づいて並べ替えられ、次に同じ x 値を持つ値の元の順序になるように y 値に基づいて並べ替えられます。保存されています。逆に、不安定な並べ替えでは、同じ x 値を持つ値の順序が異なる可能性があります。以上がJavaScript の Array.sort() メソッドはすべてのブラウザで安定していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。