sort()를 사용하여 문자열 배열을 오름차순, 내림차순으로 정렬하는 방법에 대해서 알아보겠습니다.

1. 오름차순 정렬

문자열 배열에 대해서 sort()를 호출하면 배열의 요소들이 오름차순으로 정렬됩니다.

let fruits = ["바나나", "사과", "딸기", "오렌지", "복숭아"];

// 문자열 배열을 오름차순으로 정렬
fruits.sort();

console.log(fruits);

Output:

[ '딸기', '바나나', '복숭아', '사과', '오렌지' ]

영어, 숫자 문자열 배열 정렬

한글 뿐만 아니라, 영어/숫자로 된 문자열의 경우도 오름차순으로 정렬됩니다.

let fruits = ["banana", "apple", "strawberry", "orange2", "peach", "orange1"];

// 문자열 배열을 오름차순으로 정렬
fruits.sort();

console.log(fruits);

Output:

[ 'apple', 'banana', 'orange1', 'orange2', 'peach', 'strawberry' ]

2. 내림차순 정렬

sort(함수)는 배열의 요소를 함수의 비교 결과로 정렬합니다. 기본적으로 sort()는 오름차순으로 비교하는 함수로 동작하고 있어서 함수를 생략할 수 있었습니다.

만약 내림차순으로 정렬하려면, 내림차순으로 비교하는 함수를 구현해줘야 합니다.

아래 예제에서는 b.localeCompare(a)로 함수를 만들었고, 오름차순과 반대로 비교하도록 순서를 변경하였습니다.

  • 오름차순의 경우는 a.localeCompare(b)로 비교해야 함
let fruits = ["바나나", "사과", "딸기", "오렌지"];

// 문자열 배열을 내림차순으로 정렬
fruits.sort(function (a, b) {
  return b.localeCompare(a); // b와 a를 비교하여 역순으로 정렬
});

console.log(fruits);

Output:

[ '오렌지', '사과', '바나나', '딸기' ]

영어, 숫자 문자열 배열 정렬

영어, 숫자 문자열 배열도 동일한 방식으로 내림차순 정렬할 수 있습니다.

let fruits = ["banana", "apple", "strawberry", "orange2", "peach", "orange1"];

// 문자열 배열을 내림차순으로 정렬
fruits.sort(function (a, b) {
  return b.localeCompare(a); // b와 a를 비교하여 역순으로 정렬
});

console.log(fruits);

Output:

[ 'strawberry', 'peach', 'orange2', 'orange1', 'banana', 'apple' ]