소개
배열 정렬은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!