JavaScript 개발을 하다 보면 배열의 첫 번째 요소(0번 인덱스)를 제거한 나머지 값들만 필요한 경우가 자주 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 underscore.js 라이브러리에서 제공하는 _.rest() 메서드입니다.
_.rest() 메서드란?
_.rest()는 배열에서 0번째 인덱스에 해당하는 첫 번째 요소를 제외한 나머지 요소들을 반환하는 함수입니다. 이 메서드는 두 개의 매개변수를 받습니다.
- array: 처리 대상이 되는 원본 배열
- index: (선택 사항) 제거를 시작할 인덱스 위치. 이 값을 지정하면 해당 인덱스까지의 요소들이 모두 제거됩니다.
기본 문법
_.rest(array, index);
예제 1: 기본 사용법
다음 예제에서는 두 번째 매개변수 없이 _.rest() 메서드를 호출하여 배열의 첫 번째 요소만 제거했습니다.
<html>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
document.write(_.rest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
</script>
</body>
</html>출력 결과
2, 3, 4, 5, 6, 7, 8, 9, 10
두 번째 매개변수를 전달하지 않으면 기본적으로 첫 번째 요소(0번 인덱스)만 제거되고, 나머지 요소들이 그대로 반환되는 것을 확인할 수 있습니다.
예제 2: 인덱스 매개변수 활용하기
두 번째 매개변수로 인덱스 값을 지정하면 해당 위치까지의 여러 요소를 한 번에 제거할 수 있습니다. 아래 예제에서는 인덱스 4를 전달하여 앞의 네 개 요소가 모두 제거된 결과를 보여줍니다.
<html>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
document.write(_.rest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 4));
</script>
</body>
</html>출력 결과
5, 6, 7, 8, 9, 10
정리
_.rest() 메서드는 underscore.js 라이브러리를 통해 간편하게 배열 앞부분의 요소를 제거하고 나머지 값을 얻을 수 있는 방법입니다. 두 번째 매개변수를 생략하면 첫 번째 요소만 제거되고, 특정 인덱스를 지정하면 해당 위치까지의 요소들이 한꺼번에 제거됩니다.