Front/JS & jQuery

[js] 숫자 배열 정렬하기 - sort()

오선지♬ 2022. 6. 17. 18:41
728x90
반응형
// 배열 오름차순 정렬
    function Ascending(arr){
        arr.sort((a, b)=> a - b);
    }
        
// 배열 내림차순 정렬
    function descending(arr){
        arr.sort((a, b)=> b - a);
    }

( sort () 함수 ( Array.prototype.sort )는 

파라미터를 생략할 경우 문자열로 값을 취급하기 때문에  숫자배열도 문자열로 치환되어 아스키코드에 따라 정렬이 된다.

파라미터로 ( a, b )=> a - b를 전달하면

반환값이 0보다 작으면 ( a - b < 0 )  a가 b보다 앞에 오고,

반환값이 0이면 ( a - b = 0 ) 순서가 그대로 유지되고,

반환값이  0보다 크면 ( a - b > 0 ) b가 a보다 앞에 온다. 

 

그래서 오름차순 정렬시에는 ( a, b )=> a - b 로,

내림차순 정렬시에는 ( a, b )=> b - a 로, 파라미터를 설정한다. 

 

 

 

728x90
반응형

'Front > JS & jQuery' 카테고리의 다른 글

[js] NaN → 0으로 처리하기  (0) 2022.06.21
[js] 배열의 합  (0) 2022.06.19
[jQuery] .hidden()  (0) 2022.06.16
[js] json배열의 값 가져오기  (0) 2022.06.15
[jQuery] 이벤트 핸들러 (Event Handler) 란?  (0) 2022.06.13