모던 자바스크립트자바스크립트의 유용한 내부 기능sort, reverse

Q

sort 메소드에서 인자가 정해지는 순서

조회 241

좋아요 1

2024년 6월 24일




A
2개의 답변이 있어요



2024년 6월 25일

댓글 3

2024년 6월 25일
compareFunction은 어떤 게 앞으로 가고, 어떤 게 뒤로 갈지 정하는 함수 아닌가요?? 제가 궁금한 건 (제가 든 예시의 경우에) 세번째에 2와 1을 비교했는데 왜 다섯번째에 2와 1을 한번 더 비교하는지, 여섯번째에 3과 2를 비교한 후에 3과 1과 비교하는 것은 건너뛰고 3과 4를 비교하는지 입니다. 혹시 해당 링크에 그와 관련한 설명이 있었는데 제가 보지 못한 건가요??
2024년 11월 2일
저 링크에 저 연산의 순서는 나와 있지 않지만 저도 궁금해서 하나씩 뜯어보니 이해가 되네요.
혹시 도움이 될까 댓글 남깁니다.

첫 번째 5와 4를 비교합니다. 위치가 제대로 되어 있으니 그대로 둡니다.
2024년 11월 2일
저 링크에는 나와 있지 않지만 저도 궁금해서 찬찬히 뜯어보니 혹시 이런 방식인가 싶은게 있어서 도움이 될까 댓글 남깁니다.

뒤의 숫자와 앞의 숫자를 비교해서 순서를 정하는 방식입니다.
[ 4 5 ] 첫 번째로 4와 5를 비교합니다. 순서가 적합하니 그냥 둡니다.
[ 1 4 ] 그후에 다음 숫자 1과 4를 비교합니다. 순서가 적합하니 또 그냥 둡니다.
[ 2 1 ] 그후에 다음 숫자 2와 1을 비교합니다.
순서가 바뀌어야 하니 바꿉니다. 이제 배열은 5, 4, 2, 1, 3이 되었습니다.
[ 3 2 ] 위의 연산에 의해 1의 순서는 2의 뒤로 정해졌으니 3과 1의 비교는 건너뛰고 3과 2를 비교합니다.
비교 결과 3이 2의 앞으로 옵니다. 이제 배열은 5, 4, 3, 2, 1이 되었습니다.
[ 3 4 ] 3은 아직 2앞에 있던 숫자인 4와의 비교를 하지 않았으니 비교를 합니다. 순서가 적합하니 그냥 둡니다.
그리고 정렬이 종료됩니다.



2024년 11월 6일

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇