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
'Programming > JavaScript' 카테고리의 다른 글
Object.values() not working ie11 해결방법 (0) | 2020.12.29 |
---|---|
javascript fill 사용법(정수 배열 만들고 합도 구하기) (0) | 2020.11.25 |
[JavaScript] 파일명에서 확장자 추출하기 (0) | 2019.04.04 |
[JavaScript] 자바스크립트 정규식 특수문자 제거 / 치환 (4) | 2019.04.04 |
[JavaScript] 자바스크립트로 네트워크 연결 확인하기 (0) | 2019.04.04 |
댓글