본문 바로가기

sort - 자바스크립트

D-caffein 2023. 3. 18.
반응형

sort()는 배열의 요소를 정렬하는 메서드입니다. 이 메서드는 기본적으로 오름차순으로 정렬하며, 인자로 비교 함수를 전달하여 정렬 방식을 바꿀수 있습니다.

const arr = [3, 1, 2];

arr.sort((a,b) => a - b); // [1, 2, 3]

arr.sort((a,b) => a  - b)는 arr 배열의 요소를 오름차순으로 정렬하여 반환합니다.

const arr = [22, 11, 2, 9, 1, 5];

arr.sort();  // [1, 11, 2 ,22 ,5 ,9]

숫자 배열에 sort() 수행 시, 숫자를 문자열로 변환하여 정렬을 합니다. 문자열 11은 2보다 작기 때문에 아래와 같이 숫자 크기대로 정렬되지 않습니다.

비교 함수를 전달하여 정렬 방식을 바꿀수 있습니다. 비교 함수는 두 개의 인자를 받아서, 첫 번째 인자(a)와 두 번째 인자(b)의 대소를 비교하여 -1, 0, 1 중 하나를 반환합니다.


만약 첫 번째 인자가 작을 경우 -1을 반환하고, 두 번째 인자보다 앞에 위치시킵니다.
만약 두 인자가 같은 경우 0을 반환합니다.
만약 첫 번째 인자가 클 경우 1을 반환하고, 두 번째 인자보다 뒤에 위치시킵니다.

const arr = [5, 2, 7, 1, 9];

arr.sort((a, b) => b - a); // [9, 7, 5, 2, 1]

위의 코드는 정수 배열의 요소를 내림차순으로 정렬하는 방법을 보여줍니다. 비교 함수를 전달하여 두 요소를 뺀 값이 양수이면 첫 번째 인자가 두 번째 인자보다 큰 것으로 판단하여 내림차순으로 정렬됩니다.

반응형

'Programming' 카테고리의 다른 글

replace - 자바스크립트  (0) 2023.03.20
includes - 자바스크립트  (0) 2023.03.19
split과 join - 자바스크립트  (0) 2023.03.16
Math - 자바스크립트  (0) 2023.03.15
스프레드 연산자 `...` - 자바스크립트  (0) 2023.03.14

댓글