Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript TypedArray sort() 메서드 – 사용법과 예제 총정리

TypedArray sort() 메서드란?

JavaScript에서 TypedArray 객체의 sort() 메서드는 타입 배열(typed array)의 요소를 오름차순으로 정렬한 뒤, 정렬된 배열을 반환합니다. 일반 Array의 sort()와 달리 TypedArray의 sort()는 기본적으로 숫자 크기를 기준으로 비교하기 때문에, 별도의 비교 함수 없이도 항상 올바른 숫자 순서로 정렬된다는 점이 특징입니다.

구문

typedArray.sort([compareFunction])

compareFunction은 선택 사항입니다. 이 함수를 생략하면 요소가 작은 값에서 큰 값 순(오름차순)으로 정렬되며, 직접 지정하면 원하는 정렬 기준을 정의할 수 있습니다.

예제

<html>
<head>
  <title>JavaScript TypedArray sort Method</title>
</head>
<body>
  <script type="text/javascript">
    var typedArray = new Int32Array([11, 5, 13, 4, 15, 3, 17, 2, 19, 8]);
    document.write("정렬 전 배열: " + typedArray);
    document.write("<br>");
    var resultantArray = typedArray.sort();
    document.write("정렬 후 배열: " + resultantArray);
  </script>
</body>
</html>

실행 결과

정렬 전 배열: 11,5,13,4,15,3,17,2,19,8
정렬 후 배열: 2,3,4,5,8,11,13,15,17,19

내림차순으로 정렬하는 방법

비교 함수를 함께 사용하면 내림차순 정렬도 간단하게 구현할 수 있습니다.

var arr = new Int32Array([11, 5, 13, 4, 15]);
arr.sort(function(a, b) { return b - a; });
document.write(arr); // 15,13,11,5,4

알아두면 좋은 점

  • sort()는 원본 배열 자체를 정렬하며(in-place), 반환값은 정렬된 타입 배열 자신입니다.
  • 일반 Array의 sort()는 요소를 문자열로 변환해 비교하지만, TypedArray의 sort()는 숫자 값으로 비교하므로 [10, 1] 같은 배열도 10, 1 순서가 아닌 1, 10 순서로 올바르게 정렬됩니다.
  • Int8Array, Uint32Array, Float64Array 등 모든 종류의 타입 배열에서 동일하게 동작합니다.