문제 설명
정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.
자바스크립트에서 배열을 자르는 함수는 두 가지가 있다.
1. slice : 새로운 배열로 반환
2. splice : 배열의 기존 요소를 추가, 변경, 삭제해 원본 배열 변경
이 두 가지는 새로운 배열을 만드느냐, 기존의 배열을 바꾸느냐의 차이이다.
1. slice
slice는 array.slice( start[, end]) 형식이며 반환 타입은 "배열"이다.
start는 기본값이 0이고 end의 기본 값은 배열의 길이이다.
2. splice
splice는 array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) 이며, 반환 타입은 "배열"이다.
deleteCount는 배열에서 제거할 요소의 수이며, 0이면 삭제하지 않는다.
배열에서 특정 위치의 요소를 삭제할 수 있다.
삭제 외에 교체하거나 새 요소를 추가할 수도 있다.
각 인자마자 가지고 있는 특정이 있기 때문에 생략은 불가하다.
첫 번째 인자 : 시작하는 곳
두 번째 인자 : 제거할 요소
세 번째 인자 부터 마지막 인자 : 추가할 요소
배열을 수정할 때 요긴하게 쓰일 것 같다.
풀이 작성
function solution(numbers, num1, num2) {
var answer = numbers.slice(num1, num2+1)
return answer;
}
현재 코드에서는 배열을 자르기만 하면 되기 때문에 slice를 사용했다. 여기서 주의할 점은 end에 1를 더해줘야지만 해당 번째의 배열이 된다는 거다.
참고 링크
https://bbaktaeho-95.tistory.com/39
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice