밝을희 클태

[JS / JavaScript] splice, slice 메소드 차이 본문

JavaScript

[JS / JavaScript] splice, slice 메소드 차이

huipark 2024. 1. 16. 19:58

splice()는 원본에서 요소를 바로 제거하고 제거된 배열은 리턴해줌

slice()는 원본을 변경하지 않고 복사된 배열을 리턴

splice

arr.splice(start, deleteCount)

start: 시작 IDX

deleteCount: 삭제할 요소의 개수 (deleteCount를 주지 않으면 start IDX부터 전부 삭제)

let arr = [1, 2, 3, 4, 5];

let newArr = arr.splice(0, 2); //IDX 0부터 2개 요소 제거

console.log(arr, newArr); //제거된 값은 리턴해줌

// arr =  : [ 3, 4, 5 ]
// newArr : [ 1, 2 ]

 

arr.splice(start)

let arr = [1, 2, 3, 4, 5];

let newArr = arr.splice(2); // start값만 줄경우 IDX 2부터 뒤로 다 제거

console.log(arr, newArr); //제거된 값은 리턴해줌

// arr =  : [ 1, 2 ]
// newArr : [ 3, 4, 5 ]

 


slice

arr.slice(start, end)

start: 시작  IDX

end: 종료 IDX (end IDX 전까지만 복사됨, end를 지정해주지 않으면 start IDX부터 전부 복사)

let arr = [1, 2, 3, 4, 5];

원본은 유지
let newArr = arr.slice(0, 2); // 0번째 IDX부터 2번째 IDX전까지 복사
//복사된 값은 리턴해줌

console.log(arr, newArr); 

// arr =  : [ 1, 2, 3, 4, 5 ]
// newArr : [ 1, 2 ]

 

arr.slice(start)

let arr = [1, 2, 3, 4, 5];

// 원본은 유지
let newArr = arr.slice(2); // 2번째 IDX부터 전부 복사
//복사된 값은 리턴해줌

console.log(arr, newArr); 

// arr =  : [ 1, 2, 3, 4, 5 ]
// newArr : [ 3, 4, 5 ]