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 ]