티스토리 뷰

반응형

배열 안의 요소를 정렬하기 위해서는 어떤 함수를 사용해야 할까? 자바스크립트 배열 메서드 중에 sort()를 사용하면 된다. sort()에 대해 자세히 알아보자.

 

 

 

 

 

 

 

 

 

 

1. sort() 기본 형식

 

array.sort(정렬순서function)

 

sort()의 매개변수 자리에는 정렬 순서를 정의하는 함수가 온다. 생략할 경우 각 요소를 문자열로 변환하고 그 문자열의 유니코드(ASCII)에 따라 오름차순으로 정렬된다.

 

sort()는 정렬이 수정된 기존 배열을 반환하기 때문에 배열이 복사되는 것이 아님에 주의하여야 한다.

 

 

 

 

2. sort() 사용법

문자 정렬

 

1
2
3
4
const fruit = ['grape''apple''melon''banana'];
 
// 유니코드에 따라 오름차순 정렬
console.log(fruit.sort());     // ['apple', 'banana', 'grape', 'melon']
cs

 

 

 

숫자 정렬

문자의 경우 정렬순서를 정하지 않으면, 알파벳에 따라 오름차순으로 잘 정렬되는 반면 숫자는 생각하는 결과대로 정렬되지 않는다. 따라서 정해진 함수를 사용해야 한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const arr = [2107115];
 
// 문자열 유니코드에 따른 순서
arr.sort()
 
console.log(arr);    // [10, 11, 2, 5, 7]
 
                            
// 오름차순
arr.sort(function (a, b) {
    return a - b;
})
 
console.log(arr);   // [2, 5, 7, 10, 11]
 
 
// 내림차순
arr.sort(function (a, b) {
    return b - a;
})
 
console.log(arr);    // [11, 10, 7, 5, 2]
cs

 

 

 

화살표 함수로 간단하게 표현할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
const arr = [2107115];
 
// 문자열 유니코드에 따른 순서
console.log(arr.sort());     // [10, 11, 2, 5, 7]
                            
// 오름차순
console.log(arr.sort((a, b) => a - b));     // [2, 5, 7, 10, 11]
 
// 내림차순
console.log(arr.sort((a, b) => b - a));    // [11, 10, 7, 5, 2]
cs

 

 

 

 

반응형
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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