Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

코드로보시죠

[JavaScript-31] 배열 요소 삭제: splice [vs] delete 본문

[JavaScript] 코드잇과 함께!

[JavaScript-31] 배열 요소 삭제: splice [vs] delete

코드로 보시죠 2023. 9. 28. 05:29

결론부터 말하면, 

 

delete 배열이름[인덱스번호] 방식은 값 자체만 비우고, 공간은 남아있습니다. length가 줄지 않습니다. 

splice를 쓰면, 정말 공간까지 사라져 length도 줄고, 빈 칸은 자동으로 땡겨줍니다. 

 

그래서 보통은 splice메소드를 많이 씁니다. 

splice 메소드의 사용법은 다음과 같습니다

//배열이름.splice(삭제 시작할 인덱스, 삭제할 요소 개수);

예를 들어 볼까요?

코드로 보시죠

let arr1 = [1, 2, 3, 4, 5];
let arr2 = [6, 7, 8, 9, 0];

//1번 요소 1개만 삭제
arr1.splice(1, 1);
console.log(arr1); //[1, 3, 4, 5]

//3번째~5번째 요소 3개 삭제
arr2.splice(2, 3);
console.log(arr2); //[6, 7]

이해가 훨씬 잘 되시죠?

만약 delete키워드로 삭제를 하셨다면, 요소의 개수는 유지되고, 값만 empty로 바뀌게 됐겠죠.

 

자 그런데, splice메소드는 파라미터 값을 하나만 받을 수도 있어요.

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

//2번 요소부터 끝까지 다 삭제
arr1.splice(2);
console.log(arr1); //[1, 2]

이렇게, splice메소드의 파라미터에 값을 하나만 넘겨주면, 그 번호부터 나머지 전체를 모두 지우란 의미입니다.