알고리즘 TIL(배열 정렬함수: arr.sort([compareFunction])

김재범·2022년 7월 15일
0

알고리즘TIL

목록 보기
4/9

array.sort() => 배열의 오름차순

예시1) const array = [ "e", "b", "c", "a" ]
-> array.sort() = ["a", "b", "c", "e"]

예시2) const array = [ 6, 3, 1 , 9]
-> array.sort() = [1,3,6,9]

만약에 const array = [1, 23 , 9 , 57] 이라면?

오름차순이니까 array.sort() = [1, 9 , 23, 57]이 오는게 맞겠지?

NO

유니코드 순서로 인해 [1, 23, 57, 9] 순서로 나오게 됨

그러면 어떻게해야할까??

compareFunction 을 사용

compareFunction
: 정렬 순서를 정의하는 함수. 생략하면 배열은 문자의 유니코드 값에 따라 정렬

compareFunction(a,b)이 0보다 작은 경우 : a < b로 인식

compareFunction(a,b)이 0보다 클 경우: a > b로 인식

compareFunction(a,b)가 0일 경우 : 다른 요소에 대해 정렬

사용예시

-> [1, 9, 10, 23, 57]

더 단순화 (a와 b의 차이가 양수냐 음수냐를 이용하여 오름차순/내림차순 정렬 가능)

-> [1, 9, 10, 23, 57]

profile
지식을 쌓고 있습니다.

0개의 댓글