본문 바로가기
javascript

Array 엘리먼트 추가, 삭제 메커니즘

by rami_ 2021. 11. 3.

엘리먼트 추가

배열에 엘리먼트를 추가하는 방법

 삽입할 위치에 인덱스 지정

  var value = [1, 2];

  value[4] = 5;

  log(value); // [1, 2, undefined, undefined, 5]

 표현식으로 인덱스 지정

  var value = [1, 2];

  value[value.length +2] = 5;

  log(value); // [1, 2, undefined, undefined, 5]

 

delete 연산자

구분 데이터(값)
object 매치대상
프로퍼티 삭제할 프로퍼티 이름
인덱스 배열의 인덱스
반환 삭제 성공 : true, 실패 : false

var 변수는 삭제 불가

var value = 123;

log(delete value); //false

글로벌 변수는 삭제 가능

value = "글로벌 변수";

log(delete value); //true

try{

 log(value); }

catch(e){ 

  log("존재하지 않음");

}; //존재하지 않음.

{name : value} 삭제방법

  삭제할 프로퍼티 이름 작성

  ES5에서 삭제 불가 설정 가능

 var book = {title: "책"};

 log(delete book.title); //true

 log(book.title); //undefined 오브젝트에 프로퍼티 이름이 없으면 undefined 반환

 var book = {title: "책"};

 log(delete book); //false var 변수에 오브젝트를 할당하면 오브젝트 전체를 삭제할 수 없음.

 sports = {item : "축구"};

 log(delete sports); //true var 키워드를 사용하지 않은 변수에 할당하면 삭제할 수 있음.

인덱스로 배열의 엘리먼트 삭제

 var value = [1, 2, 3, 4];

 log(delete value[1]); //true

 log(vlaue.length); //4 삭제했기 때문에 length가 4에서 3으로 줄어야 하는데 변하지 않고 4가 출력됨.

 

배열 엘리먼트 삭제 메커니즘

삭제된 인덱스에 undefined 설정

 배열을 읽을 때 제외시켜야 함. 

var value = [1, 2, 3, 4];

delete value[1]; 

log(value); //[1, undefined, 3, 4]

for ( var k = 0; k<value.length; k++) {

 log(value[k]);

}; // 1 undefined 3 4

뒤 엘리먼트를 앞으로 옮기는데 시간이 많이 걸림.

 

'javascript' 카테고리의 다른 글

Array 오브젝트 엘리먼트 값을 문자열로 변환  (0) 2021.11.11
Array 오브젝트 엘리먼트 삽입, 첨부  (0) 2021.11.04
Array 오브젝트 프로퍼티 리스트  (0) 2021.11.02
Array 오브젝트  (0) 2021.11.02
eval()함수  (0) 2021.11.01