본문 바로가기
카테고리 없음

[Js] Array에서 number 오름차순, 내림차순 정렬하기 - sort()

by hi-rachel 2023. 1. 4.
// sort()
function solution(n) {
    return n.sort();
}   // output : [1,12,2,24,3,4,6,8]

// 오름차순
function solution(n) {
    return n.sort((a, b) => a - b);
}   // output : [1,2,3,4,6,8,12,24]

// 내림차순
function solution(n) {
    return n.sort((a, b) => b - a);
}   // output : [24,12,8,6,4,3,2,1]

solution([1, 2, 3, 4, 6, 8, 12, 24]);

 

Array.prototype.sort()

sort() 메서드는 배열의 요소를 제자리에서 정렬하고 이제 정렬된 동일한 배열에 대한 참조를 반환합니다.

기본 정렬 순서는 오름차순이며 요소를 문자열로 변환한 다음 UTF-16 코드 단위 값의 시퀀스를 비교합니다.

=> 문자열은 오름차순으로 잘 정렬이 되지만 number값은 문자열로 변환된 뒤 UTF-16 코드 단위 값을 비교해 정렬되기 때문에 생각대로 정렬되지 않는다. 따라서 위 방법처럼 설정해줘야 원하는 숫자 오름차순, 내림차순 정렬을 할 수 있다.

 

 

😃 공부하면서 적는 글입니다. 피드백 환영합니다.