>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 Array.sort() 메서드는 모든 브라우저에서 안정적입니까?

JavaScript의 Array.sort() 메서드는 모든 브라우저에서 안정적입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-04 01:42:30221검색

Is JavaScript's Array.sort() Method Stable Across All Browsers?

브라우저 간 Array.sort() 메서드의 안정성

소개

배열 정렬은 JavaScript의 기본 작업입니다. 그러나 Array.sort() 메서드의 안정성은 브라우저마다 다릅니다.

ECMA 스크립트 및 안정성

ECMA 스크립트 사양은 특정 정렬 알고리즘을 정의하지 않습니다. 또는 정렬이 안정적이어야 하는지 여부를 지정합니다. 이는 서로 다른 브라우저가 서로 다른 접근 방식을 구현하여 다양한 안정성 특성을 나타낼 수 있음을 의미합니다.

특정 브라우저 간 안정성

  • IE 6-8: 안정적
  • Firefox < 3: 불안정
  • Firefox >= 3: 안정
  • Chrome < 70: 불안정
  • Chrome >= 70: 안정
  • Opera < 10: 불안정
  • Opera >= 10: 안정
  • Safari 4: 안정
  • Edge(대형 배열): 불안정

테스트 사례 예시

정렬 방법의 안정성을 입증하기 위해 값 쌍을 포함하는 테스트 사례 생성될 수 있습니다:

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.