JavaScript - 배열 오름차순, 내림차순 정렬 .sort()

신혜린·2023년 3월 19일
0

알고리즘(javascript)

목록 보기
1/21
post-thumbnail

javaScript를 이용해서 배열 안 숫자 요소들을 내림차순 또는 오름차순으로 정렬하기 위해서는 sort() 함수를 사용한다.

그러나 sort() 함수를 단독으로 사용하면 다음과 같은 오류가 발생한다.

const array = [1,3,11,2,6,22];
sorted.array.sort();
console.log(sorted); // [1,11,2,22,3,6]

의도한 대로 오름차순으로 정렬이 되는 게 아니라 첫째 자리 수를 기준으로 오름차순 정렬이 되어버린다.
이유는 정렬할 때 요소들을 문자열 취급하기 때문!
이를 해결하기 위해선 다음과 같은 함수를 매개변수로 전달해야 한다.

숫자 오름차순 정렬

const array = [1,3,11,2,6,22];
array.sort((a,b) => a-b);
console.log(array); // [1,2,3,6,11,22]

-> ab로 두 요소를 전달하고 a-b로 크기를 비교해서 양수, 0, 음수일 때 각기 다르게 return 한다.

a-b 의 값

  • 양수인 경우: a를 앞으로
  • 0인 경우: 그대로
  • 음수인 경우: b를 앞으로

숫자 내림차순 정렬

const array = [1,3,11,2,6,22];
array.sort((a,b) => b-a);
console.log(array); // [22,11,6,3,2,1]

-> a-b 식의 순서를 바꿔서 b-a로 전달하면 됨.

profile
개 발자국 🐾

0개의 댓글