본문으로 바로가기

배열 메서드 - slice

배열 메서드 중에 slice 메서드에 대해 알아봅니다.




slice()

Array.slice() 메서드는 배열의 일부분(slice) 혹은 부분 배열(subarray)을 반환합니다.

slice() 메서드는 전달 인자를 두 개 받는데, 각 인자는 반환될 부분의 처음과 끝을 각각 명시합니다.

반환되는 배열은 첫 번째 전달인자가 지정하는 위치부터 두 번째 전달인자가 지정하는 위치를 제외한 그 사이의 모든 원소를 포함합니다.

만약 전달 인자를 하나만 명시하면, 그 위치에서 배열 끝까지의 모든 원소를 포함하는 부분 배열을 반환합니다.

만약 전달 인자가 음수라면 배열의 마지막 원소에서 상대적인 위치로 배열 원소를 지정합니다.

예를 들어, 전달 인자 -1은 배열의 마지막 원소를 가리키며, 전달인자 -3은 배열의 마지막 원소부터 앞쪽으로 세 번째 원소를 가리킵니다.


예를 들면 다음과 같습니다 : 

JavaScript
var a = [1, 2, 3, 4, 5];
a.slice(0, 3); 		// [1, 2, 3]을 반환한다.
a.slice(3); 		// [4, 5]를 반환한다.
a.slice(1, -1); 	// [2, 3, 4]를 반환한다.
a.slice(-3, -2)		// [3]을 반환한다.



총정리

배열의 원소 중 특정구간에 해당하는 것들을 추출합니다.


array.slice(start, end)


인자(Parameters)

 인자형

데이터형 

필수/옵션 

설명 

 start

number 

필수 

 추출 구간의 시작점

 end

number 

필수 

 추출 구간의 종료점, 생략하면 배열의 끝점까지를 추출 구간으로 지정


반환값(Return)

array, 시작점과 종료점 사이의 추출구간에 해당하는 원소를 담고 있는 배열


설명(Description)

추출구간에 해당하는 원소들을 배열로 패키징해서 리턴한다. 

원본을 수정하지 않는다

JavaScript
var jobs = ['programmer', 'designer', 'planner', 'sajang'];
alert(jobs.slice(1,3)); // array, ['designer', 'planner'];
alert(jobs.slice(3,1)); // undefined
alert(jobs.slice(100)); // undefined 
alert(jobs.slice(-2)); // array, ['planner', 'sajang'], 인자가 음수인 경우 시작점을 뒤에서부터 카운팅
alert(jobs); // array, ['programmer', 'designer', 'planner', 'sajang'], 원본을 수정하지 않음




Jaehee's WebClub