티스토리 뷰
728x170
문자열들이 저장된 배열이 있을 때, 이 배열을 오름차순 또는 내림차순으로 정렬해야 할 때가 자주 있습니다.
문자열 값들이 이름인 경우, 보기 좋게 오름차순으로 정렬할 수도 있고, 정렬하는 것이 사전 순서로 보이기 때문에 보는 사람들이 어떤 것을 찾을 때 쉽게 찾을 수 있습니다.
이 글에서는 문자열 배열을 오름차순, 내림차순으로 정렬하는 방법에 대해서 알아보려고 합니다.
문자열 배열, 오름차순 정렬
arr.sort()는 문자열 배열 arr의 값들을 오름차순으로 정렬합니다. arr의 값 순서가 변경되기 때문에, 원본 데이터의 순서가 변경될 수 있습니다. 만약 원본 데이터의 변경을 원하지 않으면 복사한 뒤에 복사한 객체로 정렬해야 합니다.
let arr = ["하니", "혜린", "민지", "다니엘"];
arr.sort();
console.log(arr);
Output:
[ '다니엘', '민지', '하니', '혜린' ]
사실 sort() 함수는 아래와 같이 정렬 규칙이 구현된 함수를 인자로 받습니다. 아래와 같이 인자로 함수를 전달하면, 함수를 사용하여 배열 값들의 크기를 비교하여 정렬합니다. 아래 함수는 오름차순으로 배열을 정렬하는 규칙입니다.
let arr = ["하니", "혜린", "민지", "다니엘"];
arr.sort(function (a, b) {
return a.localeCompare(b);
});
console.log(arr);
문자열 배열, 내림차순 정렬
아래 코드는 내림차순으로 정렬하는 예제입니다. 정렬 규칙에 대한 함수를 보시면, 위에서 소개한 것과 반대로 비교합니다. 즉, 오름차순과 반대로 정렬하게 되며, 이것이 바로 내림차순으로 정렬하는 것입니다.
let arr = ["하니", "혜린", "민지", "다니엘"];
arr.sort(function (a, b) {
return b.localeCompare(a);
});
console.log(arr);
Output:
[ '혜린', '하니', '민지', '다니엘' ]
위의 코드는 화살표 함수를 사용하여 아래와 같이 더 간단히 구현할 수 있습니다. 인자로 전달된 함수를 보시면 더 간결해진 것을 확인할 수 있습니다. 실행해보면 내림차순으로 정렬되는 것을 확인할 수 있습니다.
let arr = ["하니", "혜린", "민지", "다니엘"];
arr.sort((a, b) => b.localeCompare(a));
console.log(arr);
그리드형
'개발 > Javascript' 카테고리의 다른 글
[Javascript] 날짜/시간 비교하는 방법 (0) | 2023.11.15 |
---|---|
[Javascript] 문자열이 숫자인지 확인 (1) | 2023.11.14 |
[Javascript] 숫자 배열 정렬하기 (오름차순, 내림차순) (0) | 2023.11.06 |
[Javascript] delay 함수 구현하기 (0) | 2023.11.05 |
[Javascript] 숫자 3자리마다 콤마(,) 찍기 (1) | 2023.10.29 |
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 12e 트램
- 메이플랜드
- Python
- 15e 트램
- 와보땅
- 원숭이의숲
- 모루정원
- javascript
- 주황버섯
- 와일드보어의 땅
- DART
- 오블완
- Unreal Engine
- 티스토리챌린지
- 포르투
- 파란버섯
- 안드로이드
- Flutter
- 리스본
- android
- 포르투갈
- Skia
- 나무던전
- 리스보아 카드
- 마비노기 모바일
- java
- aosp 빌드
- 파이썬
- adb
- 다크스텀프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함
세로형