728x90
반응형
Array.prototype.splice()
- 배열의 기존 element를 [ 삭제 / 교체 / 추가 ]하여 배열의 내용을 변경
- 제거할 element의 수와 추가할 element의 수가 다른 경우 배열의 길이는 달라짐
문법
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
Parameter
start
- 배열의 변경을 시작할 인덱스
- 음수인 경우 array.length - n번째 인덱스와 동일
- 설정한 값이 배열의 길이보다 클경우 0으로 설정
deleteCount (옵션)
- 배열에서 제거할 element 개수
- 해당 값을 생략하거나 값이 (array.length - start)보다 크면 start 부터의 모든 요소를 제거
- 0이하이면 어떤 요소도 제거하지 않음, item을 지정해야 함
item1, item2, ... (옵션)
- 배열의 추가할 요소
Return Value
- 제거한 element를 담은 배열
-- 1개의 element 제거 시 길이가 1인 배열 반환
-- 제거한 element가 없다면 빈배열 반환
예제
1. index가 1인 곳에 'Feb' 추가
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// inserts at index 1
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "June"]
2. index가 4인 element 'June'을 삭제하고 'May'를 추가
const months = ['Jan', 'Feb', 'March', 'April', 'June'];
months.splice(4, 1, 'May');
// replaces 1 element at index 4
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "May"]
출처
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
728x90
반응형
'Programming > JavaScript & TypeScript' 카테고리의 다른 글
[JavaScript] closure (클로저) 란? (0) | 2020.10.15 |
---|---|
[Angular] Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: '' 해결 방법 (0) | 2020.10.08 |
Strict mode(엄격 모드), use strict 란? (0) | 2020.09.29 |
JavaScript의 Decorator (0) | 2020.09.28 |
[Node.js] 싱글 스레드(Single-thread)와 이벤트 루프(Event loop) (0) | 2020.09.25 |