본문 바로가기
Programming/JavaScript

[javascript] slice 메서드 사용법

by 배고프당 2020. 11. 26.
728x90

자바스크립트의 slice( )는 주어진 배열의 start 인덱스부터 end 인덱스까지 (end 인덱스는 포함하지않음)에 대한 새로운 배열 객체로 반환한다. 원본 배열 보장

 

* start index 

- 0을 시작으로 하는 시작점에 대한 인덱스.

- 만약 음수라면? 배열의 끝에서부터의 길이를 나타냄(-1이면 배열에서 제일 마지막 한 개 추출)

- undefined이라면? 0번 인덱스부터 시작함

- 배열의 길이보다 큰값이면? 빈 배열을 반환함

 

* end index

- 추출을 종료할 인덱스 (end index를 제외하고 추출한다)

- 아래 표에서 예를들면, slice(0, 1)을 한다면? end index를 제외하기 때문에 "안"만 추출됨

인덱스 0 1 2 3 4
배열

- 음수 인덱스는 배열의 끝에서부터의 길이를 나타낸다.

- 만약 slice(1, -1)을 한다면 시작인덱스는 1이기 때문에 "녕"부터 시작되고

  -1은 마지막 끝에서부터의 배열인 "요"니까 end 인덱스는 포함하지 않기 때문에 ["녕", "하", "세"]가 출력될 것이다.

- slice(1, -3)을 한다면? 마지막 3개는 포함하지않기때문에 ["녕"]만 출력될 것이다.

 

- end가 생략되면? 배열의 끝까지(배열의 길이) 추출한다.

- end가 배열의 길이보다 크다면? 배열의 끝까지(배열의 길이) 추출한다.

 

const test = ['안', '녕', '하', '세', '요'];
console.log(test.slice(0)) // Array ["안", "녕", "하", "세", "요"]
console.log(test.slice(-1)) // Array ["요"]
console.log(test.slice()) // Array ["안", "녕", "하", "세", "요"]
console.log(test.slice(test.length + 1000)) // Array []
console.log(test.slice(0, 2)) // Array ["안", "녕"]
console.log(test.slice(2)) // Array ["하", "세", "요"]
console.log(test.slice(1, -3)) // Array ["녕"]
console.log(test.slice(3, 8)) // Array ["세", "요"]

 

728x90

댓글