JS

splice 정리 + slice랑 비교

gurwhddl 2022. 11. 29. 01:08

slice

말그대로 배열을 slice 잘라준다고 생각하면 됨

A = [1,2,3,4,5,6,7,8,9,10] 이 있으면

A.slice(0,6) 하면 파이썬 range 하는것처럼 index 0~5까지의 배열을 return해줌

답은 [1,2,3,4,5,6]

중요한건 slice는 원본 데이터는 안 건드린다는거 - 다시 A 찍어봐도 똑같이 있음

slice(0,-3)하면 뒤에서부터도 출력 가능 (0은 생략할수 있음) // [8,9,10]

 

splice는 기존 배열 데이터를 변경하는거임

데이터를 원하는 자리에서 원하는만큼 뺄수도 있고 뺀자리에 뭐 넣을수도 있음

splice 뒤에 붙는건 기준이 index라는거 

splice(어디 인덱스부터 시작할건지,여기서 몇개까지,빼고서 넣을 값들 지정) 

빼고 넣을 값 지정 안해주면 그냥 빼는거만 하는거

(사실 뭐 값이 length보다 크면 뭐가 되고 이런것도 있는데 그건 필요할때 찾아보기로)

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
var arr1 = arr.splice(-6, 4);

//arr의 데이터가 바뀌어서 저 7,8,9,10이 빠진 값이 저장되고

arr1에는 빠진 컨텐츠인 4,5,6,7이 저장됨

 

한마디로 splice는 원래 데이터의 값도 바꿀 수 있고, 뺀 거는 따로 변수 지정해서 쓰고 싶을 때 쓰면 됨