[Javascript] 문자열 배열 정렬 (오름차순, 내림차순)
April 13, 2024
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' ]