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);
'Javascript' 카테고리의 다른 글
Javascript : window(브라우저)와 dom (0) | 2023.09.25 |
---|---|
Javascript : document 프로퍼티를 이용해 태그 선택하기 (0) | 2023.09.25 |
Javascipt : 숫자형 메소드 (0) | 2023.09.20 |
Javascript : 객체와 배열의 반복문(for..in 반복문과 for..of 반복문의 차이) (0) | 2023.09.20 |
Javascript : 자동 형변환 (0) | 2023.09.19 |
블로그의 정보
유명한 담벼락
담담이담