
간단한 문제를 풀다가 slice를 무심코 썼는데
오잇 그러고 보니 slice도 있고 splice도 있잖아!!
정확한 차이가 뭐였지..
가물가물해져서 정리해보고자 한다!
우선 slice()와 splice()는 배열에서 요소를 추출하거나 배열을 변경하는 데 사용된다.
배열의 일부분을 추출하여 새로운 배열을 반환하며 원본 배열은 변경되지 않는다. (shallow copy)
arr.slice([begin[, end]])
begin부터 end까지(end 포함 X)에 대한 얕은 복사본을 새로운 배열 객체로 반환하는 것이다.
배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다.
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
예시를 들자면 다음과 같다.
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2, 0, "drum");
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removed
slice()는 원본 배열을 변경하지 않고 일부 요소를 추출하여 새로운 배열을 반환한다.
splice()는 원본 배열을 수정하여 요소를 추가하거나 삭제한다