배열 메서드 - 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
'JavaScript > 연산자ㆍ메서드ㆍ프로퍼티' 카테고리의 다른 글
sort 메소드 알아보기 (0) | 2016.09.29 |
---|---|
Array.splice 메서드 (0) | 2016.09.29 |
Array 객체와 String 객체의 slice 메소드 (0) | 2016.09.29 |
Array 객체의 메소드 (0) | 2016.09.29 |
프로퍼티(Property)와 가비지 컬렉션(Garbage Collection) (0) | 2016.05.23 |