[Javascript] 배열 정렬하기 - sort()

JavaScript에서는 배열을 정렬할 때 sort() 함수를 사용할 수 있습니다.

이 함수를 사용하면 배열의 요소들을 원하는 순서대로 재배열할 수 있습니다. sort() 함수는 기본적으로 배열을 유니코드 코드 포인트 순서로 정렬합니다. 하지만 정렬 순서를 사용자 정의할 수도 있습니다.

 

 

기본적인 사용법

sort() 함수의 기본적인 사용법은 다음과 같습니다.

See the Pen javscript sort() by saladent (@saladent) on CodePen.

기본적으로 sort() 함수는 배열을 유니코드 코드 포인트 순서로 정렬합니다.

이는 숫자의 경우 문자열로 변환되어 비교됩니다. 따라서 위의 예시에서는 "1"이 "200"보다 작고, "200"이 "40"보다 작은 것처럼 정렬됩니다.

 

 

사용자 정의 정렬 기준

배열을 원하는 대로 정렬하려면 비교 함수를 사용할 수 있습니다. 비교 함수는 두 개의 인수를 받고, 비교 결과에 따라 정렬 순서를 결정합니다. 비교 함수는 인수로 받은 두 요소를 비교하고, 다음 중 하나를 반환합니다.

  • 0보다 작은 값: 첫 번째 인수를 두 번째 인수보다 앞에 배치합니다.
  • 0: 두 요소의 순서를 변경하지 않습니다.
  • 0보다 큰 값: 두 번째 인수를 첫 번째 인수보다 앞에 배치합니다.

 

예를 들어, 숫자 배열을 오름차순으로 정렬하려면 다음과 같이 비교 함수를 작성할 수 있습니다.

See the Pen javsacript sort() -2 by saladent (@saladent) on CodePen.

위의 예시에서는 a-b를 반환하여 오름차순으로 정렬했습니다. 만약 내림차순으로 정렬하려면 b-a를 반환하면 됩니다.



주의사항

sort() 함수는 기존 배열을 변경하며, 원본 배열의 요소들을 정렬합니다. 따라서 원본 배열을 변경하지 않고 정렬된 새로운 배열을 얻고 싶다면, sort() 함수를 호출하기 전에 배열을 복제해야 합니다.

See the Pen javascript sort() -3 by saladent (@saladent) on CodePen.

 

 

요약

JavaScript의 sort() 함수를 사용하면 배열을 원하는 순서로 정렬할 수 있습니다.

기본적으로는 유니코드 코드 포인트 순서로 정렬되지만, 비교 함수를 사용하여 사용자 정의 정렬 기준을 적용할 수 있습니다.