본문으로 바로가기



slice 메소드

배열객체와 문자열객체에는 slice 메소드를 공용으로 사용할 수가 있습니다.


slice메소드에 대해 간단히 알아보겠습니다.

1. slice(start, end)  

- 기본적으로 start(가져올 시작 인덱스) end( 가져올 마지막인덱스 바로 전까지)

2. slice 배열에 포함된 데이터일부를 가진 새배열을 만든다.



다음의 코드를 살펴보겠습니다.

JavaScript
var arr = ['사당.','교대.','방배.','강남.'];
// 매개변수 두개 받을경우 원래 배열에서 가져올 데이터 범위의 시작과 끝을 나타낸다.

var result = arr.slice(2,3);
// 첫번째 매개변수 인덱스부터 두번째 매개변수 인덱스의 바로 앞까지를 가져온다
// 단, 원래배열은 전혀 건드리지 않는다.

console.log(arr, result);
// arr ==> ['사당.','교대.','방배.','강남.'];
// result ==> ['방배.'];

var result2 = arr.slice(1);
// 매개변수가 하나일 경우 해당 인덱스부터 끝까지 모든 데이터를 가져온다.

console.log(result2);
// result2 == > ["교대.", "방배.", "강남."];
// 원래 배열을 건드리지 않았기 때문에 arr의 모든 데이터가 있기 때문에 이런 결과가 나온다.

var result3 = arr.slice(-1);
console.log(result3);
// 매개변수 하나만 전달하면서 음수값 -1을 던져주면 마지막 배열만을 가져온다.
// 이는 전달 할 음수값에 배열의 길이를 더하게 되는데
// 현재 배열의 length값은 4, -1 + 4 = 3이 되므로 arr.slice(3); 가 되게 된다.

var result4 = arr.slice(-3,-2);
console.log(result4);
// 음수값이므로 배열의 길이를 더하면 -3 + 4 = 1, -2 + 4 = 2 가 되므로 arr.slice(1,2);

// 마지막으로 두번째 매개변수가 첫번째 매개변수보다 작다면 항상 빈 배열을 반환한다.



Jaehee's WebClub