유명한 담벼락

Javascript : 객체의 property 삭제와 배열의 요소 삭제 방법 차이

by 담담이담

1. 객체의 property 삭제

let ewha = {
  name : '이화여자대학교',
  bornYear : 1886, 
  isVeryNice : true,
  worstThing : null, 
  slogan : { 
     Korean :'Where changes begin',
     English : '변화가 시작되는 곳'
  }
}

delete 키워드 사용

delete ewha.isVeryNice
console.log(ewha);


// 결과값
let ewha = {
  name : '이화여자대학교',
  bornYear : 1886, 
  isVeryNice : true,
  slogan : { 
     Korean :'Where changes begin',
     English : '변화가 시작되는 곳'
  }
}

 

 

 

2. 배열의 요소 삭제

 

let melody = ["도레미", "파솔라", "시도레", "미파솔"];

delete melody[1];

console.log(melody);
console.log(melody.length);


// 결과값 
["도레미", empty, "시도레", "미파솔"]
4

위처럼 delete 연산을 사용하면

요소가 여전히 empty로 남아있고, 

length도 여전히 4로 변함이 없다.

 

 

배열에서 요소를 삭제할 때는 delete가 아닌,

splice를 사용하면 된다.

 

 

 

let melody = ["도레미", "파솔라", "시도레", "미파솔"];


// splice(startIndex, deleteCount, ItemToAdd)
console.log(melody.splice(1, 1));
console.log(melody.splice(1, 0, '랄랄라', '룰루'));


// 결과값

["도레미", "시도레", "미파솔"]
["도레미", "랄랄라", "룰루", "시도레", "미파솔"]

splice 메소드는 

첫 파라미터로 시작 인덱스,

두 번째 파라미터로 삭제할 원소의 개수, 

나머지 파라미터로 추가할 원소를 가진다.

 

만약 첫 파라미터만 전달한다면,

그 인덱스부터 시작해서 나머지 원소들을 다 리턴한다.

 

두 번째 파라미터를 0으로 전달할 경우,

어떠한 값도 삭제하지 않는다.

 

첫 번째 파라미터를 전달하고, 

두 번째 파라미터를 0으로 전달할 경우.

나머지 파라미터에 삽입할 원소를 전달하면

삭제 없이 삽입만 발생한다.

 

예시

//배열의 메소드 (Array's Method)
let members = ['쿤갈레', 'zerrard66', '우리생각해써','흙토끼', 'End Miracle'];

console.log(members);

// splice(startIndex, deleteCount, item)

//배열의 첫 요소를 삭제
members.splice(0, 1);

//배열의 마지막 요소를 삭제
members.splice(members. length - 1, 1);

//배열의 첫 요소로 값 추가
members.splice(0, 0, 'NiceCodeit');

//배열의 마지막 요소로 값 추가
members.splice(members. Length, O, 'Hicodeit');

 

이외의 메소드 

let members = ['쿤갈레', 'zerrard66', '우리생각해써', '흙토끼', 'End Miracle'];

console.log(members);


//배열의 첫 요소를 삭제: shift ()
members.shift();
console.log(members);

//배열의 마지막 요소를 삭제: pop()
members.pop();
console.log(members);

//배열의 첫 요소로 값 추가: unshift (value)
members.unshift('NiceCode');
console.log(members);

//배열의 마지막 요소로 값 추가: push(value)
members.push('HiCode');
console.log(members);

블로그의 정보

유명한 담벼락

담담이담

활동하기