반응형
객체 obj1, obj2가 있다.
let obj1 = {
a: "a1",
b: "b1",
c: "c1",
d: "d1",
e: "e1",
f: "f1",
g: "g1",
};
let obj2 = {
a: "a2",
b: "b2",
g: "g2",
h: "h2",
};
obj2의 값을 obj1으로 복사할 때, obj2의 속성이 obj1에 존재하는 경우만 복사하자.
.
hasOwnProperty를 이용하면 간단하다.
for (let key in obj1) {
if (obj2.hasOwnProperty(key)) {
obj1[key] = obj2[key];
}
}
전체 코드는 다음과 같다.
let obj1 = {
a: "a1",
b: "b1",
c: "c1",
d: "d1",
e: "e1",
f: "f1",
g: "g1",
};
let obj2 = {
a: "a2",
b: "b2",
g: "g2",
h: "h2",
};
console.log("before : ", obj1, obj2);
for (let key in obj1) {
if (obj2.hasOwnProperty(key)) {
obj1[key] = obj2[key];
}
}
console.log("after : ", obj1, obj2);
obj1의 a, b, g 값이 obj2가 가지고 있던 값으로 변경되었다.
before : { a: 'a1', b: 'b1', c: 'c1', d: 'd1', e: 'e1', f: 'f1', g: 'g1' } { a: 'a2', b: 'b2', g: 'g2', h: 'h2' }
after : { a: 'a2', b: 'b2', c: 'c1', d: 'd1', e: 'e1', f: 'f1', g: 'g2' } { a: 'a2', b: 'b2', g: 'g2', h: 'h2' }
반응형
'개발 > JavaScript' 카테고리의 다른 글
자바스크립트 - 2차원 배열에서 중복된 행 제거하기 (0) | 2024.03.07 |
---|---|
자바스크립트 - HTML 태그를 제거하고 텍스트만 추출하기 (Remove HTML Tags and Extract Text) (0) | 2024.01.26 |
자바스크립트 - 공백 제거하기 (Delete Whitespace) (0) | 2023.07.07 |
자바스크립트 - 두 날짜 사이의 시간 차이 구하기 (0) | 2023.06.29 |
자바스크립트 - 디폴트 매개변수 (Default Parameters) (0) | 2023.06.27 |
댓글