Programing/JavaScript

[JS] 배열의 요소를 정렬하는 sort() 함수

sunflo 2023. 12. 25.

sort()

arr.sort([compareFunction]);
  • 배열의 요소를 정렬하는 함수
  • 기본적으로 오름차순 정렬을 실행
  •  비교 함수(compareFunction)가 없는 경우 요소를 문자로 취급하여 정렬

배열의 요소가 문자일 때

문자일 때는 sort((a,b) => a-b) 를 사용할 수 없습니다.

sort() 

  • 오름차순 정렬
const str_arr = ["bananan", "apple", "orange", "Apple"];

str_arr.sort(); // [ 'Apple', 'apple', 'bananan', 'orange' ]
  • 내림차순 정렬
const str_arr = ["bananan", "apple", "orange", "Apple"];

str_arr.sort((a, b) => {
  if (a > b) return -1;
  if (a < b) return 1;
  return 0;
}); // [ 'orange', 'bananan', 'apple', 'Apple' ]

sort( (a,b) => a.localeCompare(b)

  • 문자의 언어에 따라 현지화된 오름차순 정렬을 실행합니다.
const str_arr = ["bananan", "apple", "orange", "Apple"];

str_arr.sort((a, b) => a.localeCompare(b)); // [ 'apple', 'Apple', 'bananan', 'orange' ]

sort( (a,b) => b.localeCompare(a)

  • 문자의 언어에 따라 현지화된 내림차순 정렬을 실행합니다.
const str_arr = ["bananan", "apple", "orange", "Apple"];

str_arr.sort((a, b) => b.localeCompare(a)); // [ 'orange', 'bananan', 'Apple', 'apple' ]

배열의 요소가 숫자일 때

sort()

  • 숫자를 문자로 취급하여 정렬합니다.
const num_arr = [1, 5, 10, 2];

num_arr.sort(); // [ 1, 10, 2, 5 ]

sort( (a,b) => a-b )

  • 오름차순 정렬
const num_arr = [1, 5, 10, 2];

num_arr.sort((a, b) => a - b); // [ 1, 2, 5, 10 ]

sort( (a,b) => b-a )

  • 내림차순 정렬
const num_arr = [1, 5, 10, 2];

num_arr.sort((a, b) => b - a); // [ 10, 5, 2, 1 ]

'Programing > JavaScript' 카테고리의 다른 글

[JavaScript] 호이스팅이란?  (1) 2025.04.15
[JavaScript] 호출한 객체를 가리키는 this 용법  (0) 2024.04.02
[JS] 진법변환  (0) 2023.10.20
[JS] 배열 함수 - reduce() 사용법  (0) 2023.08.22

댓글