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 |