Array.prototype.reverse()
사용법
reverse()
함수는
배열의 요소 순서를 역순(reverse)으로 정렬하는 함수입니다.
즉, 첫 번째 요소는 마지막 요소가 되고 마지막 요소는 첫 번째 요소가 됩니다.
reverse()
함수는 원본 배열을 직접 수정하며, 새로운 배열을 반환하지 않습니다.
reverse()
함수의 형식은 다음과 같습니다.
구문
arr
은 reverse()
함수를 적용할 원본 배열입니다.
매개변수
없습니다.
반환 값
원본 배열의 요소 순서를 역순으로 변경하고, 그 결과로 해당 배열을 반환합니다.
반환 값은 변경된 원본 배열 자체입니다. 새로운 배열을 반환하지 않습니다.
주의할 점
주의할 점은 reverse()
함수가 기존 원본 배열을 직접 수정한다는 것입니다.
즉, reverse()
함수를 호출하면 호출한 원본 배열 자체가 역순으로 변경되며, 새로운 배열이나 복사본이 생성되지 않습니다. 따라서 이 함수를 사용하는 경우 원본 배열이 변경되는 것을 고려해야 합니다. 만약 원본 배열을 변경하고 동시에 원본 배열을 유지하고 싶다면, 복사본을 만들어서 reverse()
를 적용하거나 toReversed()
함수를 사용하세요.
복사본을 만들어서 reverse()
를 적용하기 - 1
코드 부연설명
배열의 slice()
함수는 배열의 특정 범위의 요소를 잘라내어(slice) 추출한 결과를 새로운 배열로 반환합니다.
복사본을 만들어서 reverse()
를 적용하기 - 2
toReversed()
함수 사용하기
toReversed()
함수는 reverse()
함수와 모든 기능이 동일하지만 원본 배열을 변경하지 않습니다.
toReversed()
함수는 reverse()
함수의 단점을 보완하기 위해 ECMAScript 2023에서 처음으로 도입되었습니다. 이전에는 reverse()
함수만 사용하여 배열의 요소 순서를 역순으로 정렬할 수 있었습니다.
reverse()
함수는 원본 배열을 변경하기 때문에 원본 배열의 요소를 유지해야 하는 경우 사용할 수 없습니다. toReversed()
함수는 새 배열을 생성하여 요소를 변경하기 때문에 이러한 문제를 해결할 수 있습니다.
주의하세요!
toReversed()
함수는 2023년도에 도입된 것으로 사용 시 브라우저 호환성을 확인해야 합니다.
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
toReversed()
|
110 | 110 | 115 | 16 |
다양한 예제
reverse()
함수는 여러 상황에서 다양하게 활용될 수 있습니다. 몇 가지 예제를 살펴보겠습니다.
순서 반전 후 반복
코드 부연설명
forEach()
함수는 배열을 순회해서 각 요소를 콜백 함수로 처리하기 위한 함수입니다.
문자열을 뒤집기
코드 부연설명
문자열의 split()
함수는 문자열을 주어진 문자열 구분자나 정규식을 기준으로 나누어 배열로 변환합니다.
코드 부연설명
배열의 sort()
함수는 배열 요소를 원하는 정렬 순서로 변경(sort)하는 함수입니다.
코드 부연설명
배열의 join()
함수는 배열의 각 요소를 지정된 구분자로 연결(join)하여 하나의 문자열로 반환합니다.
역순으로 필터링
코드 부연설명
배열의 filter()
함수는 배열의 요소를 순회하면서 콜백 함수를 사용하여 원하는 조건에 따라 필터링하는 함수입니다. 필터링된 배열을 반환합니다.
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
reverse()
|
1 | 12 | 1 | 1 |
명세서
명세서 사양 | |
---|---|
reverse()
|
ECMAScript Language Specification #sec-array.prototype.reverse |