정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
numbers | num1 | num2 | result |
---|---|---|---|
[1, 2, 3, 4, 5] | 1 | 3 | [2, 3, 4] |
[1, 3, 5] | 1 | 2 | [3, 5] |
slice()
를 사용하여 문제 해결
function solution(numbers, num1, num2) {
return numbers.slice(num1, num2 + 1);
}
slice()
대신 splice()
를 사용한 방법
function solution(numbers, num1, num2) {
return numbers.splice(num1, num2-num1+1);
}
for문과 push()
를 이용한 방법
function solution(numbers, num1, num2) {
var answer = [];
for (let i = num1; i < num2+1; i++) {
answer.push(numbers[i])
}
return answer;
}
slice()
함수는 특정 범위를 복사한 값들을 담는 함수이다.
splice()
함수는 특정 범위를 추가/삭제할 때 사용하는 함수이다.
slice()
와 splice()
의 가장 큰 차이점은 slice()
는 원본 배열을 수정하지 않고 splice()
는 원본 배열을 수정하기 때문에 주의해서 사용해야 함