sort 함수로 배열을 정렬해 보자.

0
post-thumbnail

🎀 sort 함수란?

배열을 오름차순, 내림차순으로 정렬해 준다.

아래와 같이 사용되어질 수 있다.

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']
profile
일단 해. 그리고 잘 되면 잘 된 거, 잘 못되면 그냥 해본 거!

0개의 댓글