Javascript
Javascript - sort메서드
mickey7
2023. 10. 6. 11:45
sort
arr.sort( compare ( a, b) )
배열의 요소를 정렬할 때 사용하는 메서드
하나의 콜백 함수(compare)를 인수로 전달
-->필수는 아님, 콜백 함수를 생략하면 사전순, 오름차순 정렬
사용 예시(1)
sort메서드는 새로운 배열을 반환하는 게 아니라 기존 배열 요소를 다시 정렬함.
콜백 함수로 비교함수를 전달 - compare(a,b)
- 비교 함수가 양수를 반환 - a와 b중 b의 위치가 a보다 앞이어야 한다는 것을 의미
- 비교 함수가 음수를 반환 - a와 b중 a의 위치가 b보다 앞이어야 한다는 것을 의미
- 비교 함수가 0을 반환 - a와 b의 정렬 순서가 동일하다는 것을 의미
function compare(a,b) {
if ( a > b ) {
return 1;
} else if( a < b ) {
return -1;
} else {
return 0;
}
}
arr.sort(compare)로 사용
숫자 배열 정렬 시 주의
sort 메서드는 기본적으로 요소를 문자열로 취급해 사전순으로 정렬하므로 두자릿 수와 한자릿 수의 정렬값이 기대와 어긋날 수 있음.
그래서 비교 함수가 필요함.