728x90
문자를 오름차순으로, 숫자를 오름차순으로 정렬하기...
문자는 오름차순으로 정렬하면 잘 됩니다.
const letters = ['D', 'C', 'E', 'B', 'A'];
letters.sort();
console.log(letters); // (5) ["A", "B", "C", "D", "E"]
그런데, 숫자를 정렬하는 건 생각하는 것보다 간단하지 않은데요.
const numbers = [1, 10, 4, 21, 36000];
numbers.sort();
console.log(numbers); // (5) [1, 10, 21, 36000, 4]
이상한 점 발견하셨나요?
1, 10, 4, 21, 36000을 오름차순으로 정렬하면...
1, 4, 10, 21, 36000 순으로 출력될 것 같은데,
결과는 1, 10, 21, 36000, 4 순으로 출력이 됐습니다.
그럼 숫자를 오름차순이나 내림차순으로 정렬하려면 어떻게 해야 할까요?
답은 아래와 같습니다.
const numbers = [1, 10, 4, 21, 36000];
// 오름차순 정렬
numbers.sort((a, b) => a - b);
console.log(numbers); // (5) [1, 4, 10, 21, 36000]
// 내림차순 정렬
numbers.sort((a, b) => b - a);
console.log(numbers); // (5) [36000, 21, 10, 4, 1]
어떠세요, 숫자 오름차순과 내림차순... 재밌지 않으세요?
728x90