簡介
數組排序是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 值排序,然後根據 y 值排序,使得具有相同 x 值的值的原始順序被保留。相反,不穩定的排序可能會導致具有相同 x 值的值的順序不同。
以上是JavaScript 的 Array.sort() 方法在所有瀏覽器中穩定嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!