자바스크립트를 사용하여 데이터를 가공, 처리하는 일들이 점점 더 많아지고 있다. 이때 중요한 부분 중 하나로 데이터를 어떻게 정렬(Sorting) 하느냐 역시 고민인 부분이다. 만약 테이블 그리드 형태의 데이터가 존재한다고 했을때 쉽게 정렬할 수 있는 방법이 있을까?

데이터를 불러와 처리하는 경우 일반적으로 배열이 데이터 형태로 저장된 경우가 많다. 그 이유는 무엇일까? 배열로 저장된 데이터는 소팅하여 재정렬 후 보여주기에 편리한 함수를 가지고 있기 때문이다. 이 중에서 reverse() 함수를 이용하면 배열을 역순으로 재정렬할 수 있게된다.

배열이름.reverse();

해당 함수를 실행하면 배열을 역순으로 정렬한다고 얘기하였다. 일반적인 정렬방법으로 sort() 함수가 많이 사용된다. 그럼 간단한 예제를 통해 좀 더 자세히 알아보자. 아래는 reverse() 함수를 사용하여 배열의 값들을 모두 역순으로 재정렬하는 예제이다.


! reverse() 함수 예제보기


<script>
   var person = ['James', 'Will', 'David'];
   // 사람 이름이 있는데 데이터를 변수에 선언
   var reversePerson = person.reverse();
   // 역순으로 정렬하기 위하여 reverse() 함수를 사용

   console.log(reversePerson);
   // 역순으로 저장된 배열을 콘솔에 출력
</script>
위 코드를 실행시키면 다음과 같이 결과가 나오게된다.

['David', 'Will', 'James']

// 출력되는 결과

보는 것처럼 앞과 뒤의 순서가 바뀌었음을 알 수 있다. 배열을 정렬하기 위한 가장 간단한 방법 중 하나로 reverse() 함수를 활용하면 매우 편리할 것이다. 아래는 숫자를 사용한 또 다른 예제이다. 이번에는 sort() 함수를 사용하고 이를 재정렬해보도록 하겠다.


# reverse() 함수 예제

먼저 아래 코드를 보자 아래 코드는 배열을 담고 있는데 한 학급의 성적을 담은 데이터이다. 이를 정렬 후 다시 역순으로 정렬해보자. 이 때 사용할 함수로 sort() 그리고 reverse()를 사용할 것이다.

<script>
var score = [92, 27, 16, 42, 82];
var score2 = score.sort();
console. log(score2);

var score3 = score2.reverse();
console.log(score3);
</script>

이를 실행하면 다음과 같이 결과가 나타난다. 처음에 사용한 sort() 함수에 의해 오름차순으로 정렬되고 reverse()가 다시 역순으로 정렬하게 한다.

16, 27, 42, 82, 92
// sort() 의하여 오름차순 정렬됨

92, 82, 42, 27, 16
// reverse()에 의하여 다시 역순으로 정렬되어 출력됨

이처럼 간단하게 배열의 역순 정렬이 가능하다.