Array.sort() 메서드는 배열을 정렬하는 강력한 도구입니다. 오름차순 또는 내림차순. 그러나 동일한 값을 가진 요소가 원래의 상대 순서를 유지하도록 보장하는 이 방법의 안정성은 ECMAScript 사양에 의해 보장되지 않습니다.
Firefox는 안정적인 정렬 알고리즘을 지속적으로 사용하여 동일한 값을 가진 요소가 정렬 후 상대적 순서를 유지하도록 보장합니다.
Internet Explorer도 안정적인 정렬 알고리즘을 구현했습니다. 정렬 알고리즘은 동일한 값을 가진 요소의 원래 순서를 유지합니다.
Chrome의 정렬 알고리즘은 시간이 지남에 따라 발전해 왔습니다. 버전 70 이전에는 Chrome이 더 큰 배열에 대해 불안정한 정렬을 사용했기 때문에 동일한 값을 가진 요소가 재정렬될 수 있었습니다. 그러나 Chrome 버전 70 이상에서는 정렬 알고리즘이 크고 작은 배열 모두에 안정적으로 변경되었습니다.
Safari는 안정적인 정렬 알고리즘을 구현하여 요소가 동일한 값은 원래 순서대로 유지됩니다.
ECMAScript 2019부터 정렬 방법이 안정적이어야 합니다. 그러나 ECMAScript의 이전 버전(ES2018 이하)에서는 정렬 방법의 안정성이 명시적으로 지정되지 않아 개별 브라우저가 자체 구현을 선택할 수 있었습니다.
Array.sort() 메서드는 브라우저마다 다릅니다. Firefox, IE 6/7/8, Chrome 버전 70 이상 및 Safari는 모두 안정적인 정렬 동작을 제공합니다. 그러나 70 이전의 Chrome 버전은 대규모 배열에 대해 불안정한 정렬 알고리즘을 사용했습니다. Array.sort() 메서드를 사용할 때 이러한 브라우저별 차이점을 알고 있는 것이 중요합니다.
위 내용은 Array.sort() 메서드는 여러 브라우저에서 안정적입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!