slice 메서드
slice 메서드는 배열의 지정된 부분을
잘라내어 반환합니다. 원본 배열은
변경되지 않습니다.
첫 번째 매개변수는 잘라내기를 시작할 배열 요소의 번호를 지정하고, 두 번째 매개변수는 잘라내기가 끝날 요소의 번호를 지정합니다 (이 번호의 요소는 잘라낸 부분에 포함되지 않습니다). 두 번째 매개변수는 필수가 아닙니다. 지정하지 않으면 첫 번째 매개변수로 지정된 요소부터 배열의 끝까지의 하위 배열이 취해집니다.
음수 값도 사용할 수 있습니다.
이 경우 자르기가 끝날 요소의 계산은
배열의 끝에서 시작됩니다. 이때 마지막 요소의
번호는 -1입니다.
문법
배열.slice(어디서부터 자를지, [어디까지 자를지]);
예시
배열에서 0번째부터 2번째 요소 전까지(2번째 요소는 포함하지 않음)를 잘라내 보겠습니다:
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(0, 2);
console.log(sub);
코드 실행 결과:
['a', 'b']
예시
첫 번째 요소부터 배열 끝까지 잘라내 보겠습니다. 이를 위해 두 번째 매개변수를 지정하지 않습니다:
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(1);
console.log(sub);
코드 실행 결과:
['b', 'c', 'd', 'e']
예시
두 번째 요소부터 마지막에서 두 번째 요소까지
(-1는 마지막 요소를 가리키며 이는
추출된 부분에 포함되지 않음) 잘라내 보겠습니다:
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(1, -1);
console.log(sub);
코드 실행 결과:
['b', 'c', 'd']
이 접근 방식의 장점은 배열의 크기에 관계없이 항상 마지막 요소를 제외한 배열의 일부가 잘라낸다는 점입니다.