
꼭 해야할것 같아서 정리하는 slice vs splice!
slice()메서드는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다.
Array.slice(start[,end])
arr = ['a', 'b', 'c', 'd','e']
arr.slice(1) // [ 'b', 'c', 'd', 'e' ]
arr.slice() // [ 'a', 'b', 'c', 'd', 'e' ]
arr.slice(-3) // [ 'c', 'd', 'e' ]
arr.slice(5) // []
arr.slice(2, 4) // [ 'c', 'd' ]
arr.slice(1,-1) // [ 'b', 'c', 'd' ]
arr.slice(2, 7) // [ 'c', 'd', 'e' ]
splice()메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.
Array.splice(start,[,deleteCount[,item1[,item2[,item3[, ...]]]]])
arr.splice(1) // [ 'b', 'c', 'd', 'e' ]
arr // [ 'a' ]
arr.splice(-2) // [ 'd', 'e' ]
arr // [ 'a', 'b', 'c' ]
arr.splice(6)// []
arr // [ 'a', 'b', 'c', 'd', 'e' ]
arr.splice(1, 2)// [ 'b', 'c' ]
arr // [ 'a', 'd', 'e' ]
arr.splice(1) // [ 'b', 'c', 'd', 'e' ]
arr // [ 'a' ]
arr.splice(1, -3)// []
arr // [ 'a', 'b', 'c', 'd', 'e' ]
arr.splice(1, 1, 'hi')// [ 'b' ]
arr // [ 'a', 'hi', 'c', 'd', 'e' ]
arr.splice(1, 0, 'hi')// []
arr // [ 'a', 'hi', 'b', 'c', 'd', 'e' ]