Javascript 배열 요소 삭제
전공서적/인사이드자바스크립트2017. 8. 2. 22:52
배열 요소 삭제
배열도 객체임으로 배열요소나 프로퍼티를 삭제하는데 delete연산자가 사용 가능
var arr = ['zero','one','two','three'];
delete arr[2];
console.log(arr); //(출력값) ["zero","one",undefined X1,"three"]
console.log(arr.length); //(출력값) 4
delete arr[2]로 배열의 요소를 삭제하면, arr[2]에 undefined가 할당된다.
그러나 delete연산자로 배열 요소 삭제 후에도 배열의 length값은 변하지 않는다.
-> 즉, delete 연산자는 해당 요소의 값을 undefined로 설정할 뿐 원소자체를 삭제하지는 않는다.
=> 이때문에 보통 배열에서 요소들을 완전히 삭제할 경우 자바스크립트에서 splice()배열 메서드를 사용한다.
splice() 배열 메서드
splice(start, deleteCount, item ...)
start : 배열에서 시작위치
deleteCount - start에서 지정한 시작 위치부터 삭제할 요소의 수
item - 삭제할 위치에 추가할 요소
var arr = ['zero','one','two','three'];
arr.splice(2,1); //2번째 요소를 시작점으로 1개의 원소를 삭제한다
console.log(arr); //(출력값) ["zero","one","two","three"]
console.log(arr.length); //(출력값) 3
splice(2,1) 메서드로 arr배열 내 2번째 위치부터 1개의 요소를 삭제했다.
delete연산자와 다르게 배열요소를 완전히 없애게 된다
-> 따라서 배열 개수도 3
<참고문헌 : 인사이드자바스크립트>
'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글
Javascript 배열의 요소 생성 (0) | 2017.08.02 |
---|---|
Javascript 배열 표준 메서드와 length 프로퍼티 (0) | 2017.08.02 |
Javascript 배열과 객체 (0) | 2017.08.02 |
Javascript 배열의 프로퍼티 동적 생성 (0) | 2017.08.02 |
Javascript 배열의 프로퍼티 열거 (2) | 2017.08.02 |