배열 자르기
문제 설명
정수 배열 numbers
와 정수 num1
, num2
가 매개변수로 주어질 때, numbers
의 num1
번 째 인덱스부터 num2
번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
제한 사항
- 2 ≤
numbers
의 길이 ≤ 30 - 0 ≤
numbers
의 원소 ≤ 1,000 - 0 ≤
num1
<num2
<numbers
의 길이
입출력 예
numbers | num1 | num2 | result |
---|---|---|---|
[1, 2, 3, 4, 5] | 1 | 3 | [2, 3, 4] |
[1, 3, 5] | 1 | 2 | [3, 5] |
입출력 예 설명
입출력 예 #1
- [1, 2, 3, 4, 5]의 1번째 인덱스 2부터 3번째 인덱스 4 까지 자른 [2, 3, 4]를 return 합니다.
입출력 예 #2
- [1, 3, 5]의 1번째 인덱스 3부터 2번째 인덱스 5까지 자른 [3, 5]를 return 합니다.
문제풀이 (나)
function solution(numbers, num1, num2) {
return numbers.splice(num1, num2 - num1 + 1);
}
Array.splice 메서드를 사용하여 num1 부터 num2 까지의 인덱스번호에 해당하는 배열을 리턴해주었다.
- **
splice()
**는 기존 요소를 제거 또는 교체하거나 제자리에 새 요소를 추가하여 배열의 내용을 변경하는 JavaScript 메서드이다. splice()
는 두 가지 파라미터를 사용한다. 둘 다 필수다.
- 요소 제거 또는 추가를 시작할 시작 인덱스.
- 제거할
요소의 수
. 이 값이 0이면 요소가 제거되지 않는다.
2번 항목에서 중요한 점이 있는데, 두 번째 파라미터는 “갯수” 이다. 인덱스 번호가 아니다.
따라서 갯수를 리턴해주려면 다음과 같이 연산해 주면 된다.
num2
- num1
+ 1
문제풀이 (다른사람)
function solution(numbers, num1, num2) {
return numbers.splice(num1, num2-num1+1);
}