JavaScript에서 배열을 정렬하기 위해서는 sort() 함수를 사용
arr.sort([compareFunction])
파라미터
compareFunction
정렬 순서를 정의하는 함수.
이 값이 생략되면, 배열의 element들은 문자열로 취급되어, 유니코드 값 순서대로 정렬됩니다.
이 함수는 두 개의 배열 element를 파라미터로 입력 받습니다.
이 함수가 a,b 두개의 element를 파라미터로 입력받을 경우, 이 함수가 리턴하는 값이 0보다 작을 경우, a가 b보다 앞에 오도록 정렬하고, 이 함수가 리턴하는 값이 0보다 클 경우, b가 a보다 앞에 오도록 정렬합니다.
만약 0을 리턴하면, a와 b의 순서를 변경하지 않습니다.
ex)
const arr = [2, 1, 3, 10];
arr.sort();
document.writeln(arr + '
')'
리턴값 1, 10, 2, 3
ex)
const arr = [2, 1, 3, 10];
arr.sort((a,b) => a - b);
document.writeln(arr + '
';
리턴값 1, 2, 3, 10
ex)
const arr = [2, 1, 3, 10];
arr.sort((a,b) => b - a);
document.writeln(arr + '
';
리턴값 10, 3, 2, 1
ex)
const arr = ['banana', 'b', 'boy'];
arr.sort();
document.writeln(arr + '
');
리턴값 b, banana, boy
ex)
const arr = ['banana', 'b', 'boy'];
arr.sort(function(a,b) {
if(a < b) return 1;
if(a > b) return -1;
if(a === b) return 0;
});
document.writeln(arr + '
');
리턴값 boy, banana, b