728x90
먼저 자바스크립트의 sort 함수는 다음과 같이 사용한다.
array.sort([Compare Function])
자신이 원하는 조건으로 정렬을 하기위해 직접 Comapre Function을 구현해야 한다.
Compare Function의 반환값에 따라 정렬이 다르게 동작한다.
- 반환값이 0 일 때 -> 변경 없음
- 반환값이 0 보다 클 때 -> 오름차순
- 반환값이 0 보다 작을 때 -> 내림차순 (음수일 때만 위치가 바뀐다고 생각하면 됨.)
const arr = [1, 2, 3]
arr.sort((a, b) => b - a)
라는 코드가 존재할 때 파라미터 a, b에 각각 1, 2 가 들어올 것이라고 예상할 수도 있지만 반대로 2, 1이 들어온다.
그렇기 때문에 이 부분이 좀 헷갈린다면
arr.sort((next, prev) => prev - next)
라고 생각하면 좀 덜 헷갈릴것 같다.
정리
오름차순
arr.sort((a, b) => a - b)
arr.sort((next, prev) => next - prev)
만약 여기서 b(이전값)가 a(다음값)보다 더 크다면 음수가 되므로 위치가 바뀐다.
이말인 즉슨, 이전값이 다음값보다 클 때 위치가 바뀌므로 큰 값이 뒤로 가기 때문에 오름차순이 된다.
내림차순
arr.sort((a, b) => b - a)
arr.sort((next, prev) => prev - next)
a(다음값)가 b(이전값)보다 더 크면 음수가 되므로 위치가 바뀐다.
그럼 큰 값이 앞으로 오기 때문에 내림차순이 된다.
728x90
'Javascript' 카테고리의 다른 글
타입스크립트 - 기본타입과 함수 타입 정의 (0) | 2021.04.07 |
---|---|
Javascipt를 Typescript 처럼 코딩하기 (0) | 2021.04.07 |
netlify에 client 어플리케이션 배포하기 (0) | 2021.03.08 |
Heroku에 node.js 서버 배포하기 (1) | 2021.03.08 |
고차함수 / 커링 / 부분적용함수 (0) | 2020.12.29 |
댓글