배열 뒤에 .sort()를 붙혀주면 된다.
예를 들면
var array = [ 3, 2, 1, 5, 4]
array.sort();를 하면
[1,2,3,4,5]로 오름차순으로 정렬 된다.
이것은 숫자 뿐만 아니라, 기호도 가능하다.
하지만 주의할 점은 정렬 될 때 ASCII 코드를 기준으로 정렬되므로 숫자를 정렬할 때 문제가 생긴다
[10, 5]가 있으면 정렬이 되지 않는다.
그 이유는 10과 5를 문자, 즉 알파벳이라고 생각한다면
0 -> A, 1 -> B, 2 -> C 이렇게 변환할 수 있을 것이고,
각각 BA와 F 이라고 볼 수 있다.
그러면 사전 순으로는 10이 5 앞에 서게 된다.
그럼 정렬이 숫자의 크기대로 이루어지지 않게 된다.
따라서 이럴 때는 sort안에 정렬 되는 기준을 함수로 넣어주어야한다.
예를 들면 숫자를 오름차순으로 정렬할 것이라면
array.sort( function (a, b){
return a-b;
});
이렇게 하거나
화살표 함수를 사용하면
array.sort( (a, b) => {
return a-b;
});
더 간단하게는
array.sort( (a, b) => a-b);
이렇게도 가능하다.
(이게 이해가 되지 않는다면 화살표 함수를 공부하는 게 좋을 것 같다.)
이렇게 하면 숫자 오름차순 정렬이 된다.
반대로 내림차순은
array.sort( (a, b) => b-a);
이렇게 하면 된다