programming/javascript
[JS] 객체 차집합 만들기 예제 코드
FaustK
2019. 11. 16. 18:49
과제 중에 차집합을 만들면 해결할 수 있는 문제가 있어서 만들어 보았다.
// obj2 - obj1 이다!
function diff(obj1, obj2) {
let tmp = { ...obj2 };
for (let prop in obj2) {
if (obj1.hasOwnProperty(prop)) {
delete tmp[prop];
}
}
return tmp;
}
객체 차집합 후 합치기 (객체간 합치기를 할 때는 Object.assign 을 사용했는데 원본 객체를 변경하는 것이기 때문에 사용에 주의가 필요하다)
function diff(obj1, obj2) {
let tmp = { ...obj2 };
for (let prop in obj2) {
if (obj1.hasOwnProperty(prop)) {
delete tmp[prop];
}
}
return tmp;
}
const obj1 = { a: 1, b: 2 };
const obj2 = { a: 100, b: 200, c: 300 };
const result = diff(obj1, obj2);
console.log(result); // { c: 300 }
console.log(Object.assign(obj1, result)); // { a: 1, b: 2, c: 300 }