javascript에서 배열을 정렬하기 위해서는 sort() 함수를 사용합니다. 그러나 숫자는 생각대로 정렬되지 않습니다. 자바스크립트에서 배열을 정렬 할 때 기본적으로 요소를 문자열로 변환합니다. 그런 다음 UTF-16 코드 포인트를 비교하여 요소를 정렬합니다. 숫자의 경우 예기치 않은 순서가 발생할 수 있습니다.
따라서 기본 동작을 변경하고 Array.sort메서드에 함수를 전달합니다. 항상 한 번에 두 요소를 비교하여 작동합니다. 결과가 0보다 작으면 a먼저 표시됩니다. 결과가 0보다 크면 b먼저 표시됩니다.
원본 배열인 numbers가 정렬이 되고, 리턴하는 값 또한 원본 배열인 numbers을 가리키고 있음에 유의하세요.
const numbers = [15, 52, 23, 11, 9];
// 오름차순 정렬, 원본 배열 수정
numbers.sort((a, b) => a - b);
console.log(numbers); // [9, 11, 15, 23, 52]
// 내림차순 정렬, 원본 배열이 다시 수정
numbers.sort((a, b) => b - a);
console.log(numbers); // [52, 23, 15, 11, 9]
'Javascript' 카테고리의 다른 글
jQuery 커스텀 데이터 셀렉터 (0) | 2021.04.20 |
---|---|
javascript 배열 요소를 앞에 추가(Prepend), 뒤에 추가(Append) 하는 방법 (0) | 2021.04.20 |
javascript 배열 요소중 최소값과 최대값 찾는 방법 (0) | 2021.04.18 |
javascript 배열 요소들이 특정 조건을 만족하는지 여부 확인 (0) | 2021.04.18 |
javascript 객체 key-value 반대로 뒤집는 방법 (0) | 2021.04.18 |
개의 댓글