실시간세션을 진행하면서 slice의 특징에 대해서 한번 더 복습하고 넘어가는게 좋다고 생각이 들었다 🤔
📌 Array.prototype.slice( )
: 어떤 배열의 begin부터 end까지 ( ⭐️ end 미포함 )에 대한 얕은 복사본을 New 배열로 만들어준다
➡️ 원본 배열은 바뀌지 않음 ( 얕은 복사의 특징 )
arr.slice([begin[, end]])
매개변수
- ✓ begin: 추출 시작점에 대한 인덱스
- 음수인 경우 ➡️ 인덱스는 배열의 끝에서 부터의 길이를 나타낸다.
- ex> slice(-2) : 배열에서 -2 인덱스부터 끝까지 배열 추출 ( 2개 )
- undefined인 경우 ➡️ 0번 인덱스부터 slice
- ⭐️ begin > arr.length 인 경우, 빈배열을 반환
- ✓ end : 추출을 종료할 0기준 인덱스
- slice 는 end 인덱스를 제외하고 추출
- slice(1,4) : (arr[1]) 두번째 요소부터 (arr[3]) 4번째 요소까지 추출
- end값이 음수인 경우 : 배열 끝에서부터의 길이를 나타냄
- slice(2, -1): 세번째 요소부터 끝에서 두번째 요소까지 ( end 인덱스는 제외하고 추출 ! )
- end 생략하는 경우 : 배열 끝까지 추출
- end 값이 arr.length보다 큰 경우 : 배열 끝까지 추출
- ✓ 반환값 : 추출한 요소를 포함한 새로운 배열 ( 얕은 복사 )