엘리먼트 추가
배열에 엘리먼트를 추가하는 방법
삽입할 위치에 인덱스 지정
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 |