>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 `sort()` 기능은 실제로 어떻게 뒤에서 작동합니까?

JavaScript의 `sort()` 기능은 실제로 어떻게 뒤에서 작동합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-07 12:40:03837검색

How does JavaScript's `sort()` function actually work behind the scenes?

JavaScript의 sort() 함수와 내부 동작 이해

내장 sort() 함수는 일반적으로 숫자 또는 알파벳 순서로 배열을 정렬하기 위해 JavaScript에서 사용됩니다. 이 연산은 메소드의 인수로 제공되는 비교 함수를 통해 실행됩니다.

제시된 코드는 두 숫자(ab)를 비교하고 다음 결과를 반환합니다. :

  • 0보다 작은 경우: ab 앞에 정렬됩니다.
  • 0: ab는 원래 위치에 유지됩니다.
  • 0보다 큼: b는 a.

콜백 함수 다중 호출

sort()에 제공되는 콜백 함수가 호출됩니다. 분류 과정 전반에 걸쳐 여러 번. 함수에 전달되는 특정 숫자 쌍은 각 반복마다 다릅니다.

처음에는 콜백이

25(a) 및 8을 처리할 것이라고 예상했습니다. (b), 7(a), 41(b) 순입니다. 그러나 이는 실제로 비교가 발생하는 순서가 아닙니다.

관련 단계의 세부 내용은 다음과 같습니다.

  • 반복 1: 25 (a)는 8(b)과 비교됩니다.
  • 반복 2: 25(a)를 7(b)과 비교합니다.
  • 반복 3: 8(a)는 7(b)과 비교됩니다.
  • 반복 4: 25(a)를 41(b)과 비교합니다.
이러한 비교 결과는 다음과 같습니다. 부분적으로 정렬된 배열: [8, 7, 25, 41].

부분적으로 정렬된 목록 정렬

이 시점에서 두 개의 정렬되지 않은 목록이 남습니다: [8, 7 ] 및 [25, 41]. 알고리즘은 이러한 목록을 반복하여 독립적으로 정렬합니다.

최종 정렬 결과는 [7, 8, 25, 41]입니다.

위 내용은 JavaScript의 `sort()` 기능은 실제로 어떻게 뒤에서 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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