자바스크립트에서 배열의 원소를 지울때
조회수 1052회
자바스크립트에서 배열의 원소를 지울때 delete 연산자를 쓰거나 Array의 메소드인 splice를 쓰잖아요. 근데 이 둘의 차이점은 뭔가요?
소스코드
myArray = ['a', 'b', 'c', 'd'];
//delete myArray[1];
//myArray.splice (1, 1);
이런 상황에서 delete를 썼을때와 splice를 썼을때의 차이를 보여주세요.
1 답변
-
먼저 delete를 쓰게되면
> myArray = ['a', 'b', 'c', 'd'] ["a", "b", "c", "d"] > delete myArray[0] true > myArray [undefined, "b", "c", "d"]
지워진 원소를 undefined가 차지하게됩니다. 그리고
> myArray = ['a', 'b', 'c', 'd'] ["a", "b", "c", "d"] > myArray.splice(0, 2) ["a", "b"] > myArray ["c", "d"]
splice를 쓰면 이런식으로 해당 부분이 지워지고 그 다음부분을 당겨서 자리를 메우게됩니다.
댓글 입력