일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- network
- Data Structure
- vscode
- 프로그래머스
- db
- frontend
- DP
- java
- 그레이들
- Graph
- 다이나믹 프로그래밍
- 동적 계획법
- react
- git
- LeetCode
- TypeScript
- Database
- 리트코드
- Redux
- BFS
- 알고리즘
- Python
- 백준
- 자바
- VIM
- Javascript
- DFS
- Algorithm
- CS
- 안드로이드
Archives
- Today
- Total
늘 겸손하게
JavaScript - Array.sort() 메소드 compareFunction 본문
Programming/JavaScript
JavaScript - Array.sort() 메소드 compareFunction
besforyou999 2022. 7. 15. 14:55자바스크립트의 Array.sort() 메소드의 매개변수로 compareFunction을 제공하여 원하는 방식으로 배열을 정렬시킬 수 있다. 이 compareFunction은 양수, 음수, 0을 반환해야하는데, 반환하는값에 따라 정렬 순서가 달라진다.
정리하자면,
- compareFunction 반환값이 양수인 경우 : 첫번째 인자 a, 두번째 인자 b의 위치가 바뀌어 정렬된다. ( b a 순으로 정렬된다 )
- compareFunction 반환값이 음수인 경우 : 첫번째 인자 a, 두번째 인자 b의 위치가 바뀌지 않는다. ( a b 순으로 정렬된다 )
- compareFunction 반환값이 0인 경우 : a b 위치가 바뀌지 않는다
예시
오름차순 정렬
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b}); // [1, 5, 10, 25, 40, 100]
내림차순 정렬
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a}); // [100, 40, 25, 10, 5, 1]
compareFunction의 반환값이 0이라면 아무일도 일어나지 않는다.
'Programming > JavaScript' 카테고리의 다른 글
JavaScript - async, await (0) | 2022.07.21 |
---|---|
JavaScript - Promise, Call back (0) | 2022.07.16 |
JavaScript - Map keys 배열로 바꾸기 (0) | 2022.07.14 |
JavaScript - '...'연산자 ( spread operator ) (0) | 2022.07.12 |
JavaScript - 정수형 배열 정렬 sort () (0) | 2022.04.26 |