Search
Duplicate

splice()와 slice()의 차이

Created
2021/02/04 06:16
tags
🌐JavaScript
Array.prototype.splice() 그리고 Array.prototype.slice() 차이는 원본 배열을 수정하는가, 수정하지 않는가로 구분할 수 있다.

splice()

splice(start[, deleteCount[, item1[, item2[, ...]]]]) 형태를 갖고 있다.
시작지점(start)부터 deleteCount 개수만큼 배열 아이템을 제거하고, itemN이 주어지면 배열에 추가한다. 제거된 아이템들을 배열로 반환한다.
const arr = ['A', 'B', 'C', 'D']; const result = arr.splice(1, 1); // arr[1]부터 아이템 한개를 삭제한다. arr: ['A', 'C', 'D'] result: ['B']
JavaScript
복사
const arr = ['A', 'B', 'C', 'D']; const result = arr.splice(2, 1, 'Z'); // arr[2]부터 아이템 한개를 삭제하고 'Z' 아이템을 추가한다. arr: ['A', 'B', 'Z', 'D'] result: ['C']
JavaScript
복사

slice()

slice([begin[, end]]) 형태를 갖고 있다.
begin부터 end-1까지 아이템의 얕은 복사본을 반환한다.
const arr = ['A', 'B', 'C', 'D']; const result = arr.slice(2); // arr[2]부터 끝까지 복사한다. arr: ['A', 'B', 'C', 'D'] result: ['C', 'D']
JavaScript
복사
const arr = ['A', 'B', 'C', 'D']; const result = arr.slice(2, 3); // arr[2]부터 arr[3-1]까지 복사한다. arr: ['A', 'B', 'C', 'D'] result: ['C']
JavaScript
복사