sort 함수
는 array를 compareFunction 함수
의 결과값에 따라 정렬함
arr.sort([compareFunction])
compareFunction
정렬 순서를 정의하는 함수
생략하면 오름차순(ASCII 문자 순서)으로 정렬a, b 두 개의 element를 파라미터로 입력 받음 a - b < 0 일 때, -값 ( 오름차순 ) a - b = 0 일 때, 0 a - b > 0 일 때, +값 ( 내림차순 )
이 함수가 리턴하는 값이 0보다 작을 경우, a가 b보다 앞에 오도록 정렬
이 함수가 리턴하는 값이 0보다 클 경우, b가 a보다 앞에 오도록 정렬
만약 0을 리턴하면, a와 b의 순서를 변경하지 않음
compareFunction
규칙에 따라서 정렬된 배열을 리턴
이때 원본 배열인 arr
가 정렬이 되고, 리턴하는 값 또한 원본 배열인 arr
을 가리키고 있음
const numbers = [10, 3, 8, 4, 1];
numbers.sort(); // [ 1, 10, 3, 4, 8 ]
numbers.sort((a, b) => b - a); // [ 1, 3, 4, 8, 10 ]
numbers.sort((a, b) => a - b); // [ 10, 8, 4, 3, 1 ]
Arr.sort(function(a, b) {
return a - b;
});
// 화살표 함수
Arr.sort((a, b) => a - b );