배열을 오름차순, 내림차순으로 정렬해 준다.
아래와 같이 사용되어질 수 있다.
arr.sort([compareFunction])
const arr1 = [3, 1, 2];
const arr2 = ['banana', 'apple', 'orange']
arr1.sort();
arr2.sort();
👉🏻 결과
[1, 2, 3]
['apple', 'banana', 'orange']
sort()안에 아무것도 정해주지 않으면 기본으로 오름차순 정렬된다.
❗️ 숫자의 경우 유니코드 기준으로 정렬되니 주의하자!
유니코드 기준으로 정렬된다는게 뭔지 어려운데, 아래 예시를 통해 이해해보자.
const arr1 = [10, 2 , 22, 1, 5];
const arr2 = ['banana', 'apple', 'orange']
arr1.sort();
arr2.sort();
👉🏻 결과
[1, 10, 2, 22, 5]
['apple', 'banana', 'orange']
const arr1 = [10, 2 , 22, 1, 5];
const arr2 = ['banana', 'apple', 'orange']
arr1.sort((a, b) => a - b);
arr2.sort();
👉🏻 결과
[1, 2, 5, 10, 22]
['apple', 'banana', 'orange']
숫자의 경우 위와 같이 오름차순 정렬을 명시해 주어야 정렬된다.
const arr2 = ['Orange', 'banana', 'apple', 'orange']
arr2.sort()
👉🏻 결과
['Orange', 'apple', 'banana', 'orange']
const arr1 = [10, 2 , 22, 1, 5];
const arr2 = ['banana', 'apple', 'orange']
arr1.sort((a, b) => b - a);
arr2.sort(function(a, b) {
if(a < b) return 1;
if(a > b) return -1;
if(a === b) return 0;
});
👉🏻 결과
[22, 10, 5, 2, 1]
['orange', 'banana', 'apple']
const arr2 = ['Orange', 'banana', 'apple', 'orange']
arr2.sort(function(a, b) {
if(a < b) return 1;
if(a > b) return -1;
if(a === b) return 0;
});
👉🏻 결과
['orange', 'banana', 'apple', 'Orange']