두 자바스크립트 객체 property를 동적으로 merge시키는법

var obj1 = { food: 'pizza', car: 'ford' }
var obj2 = { animal: 'dog' }

obj1.merge(obj2);

//obj1은 이제 3개의 property를 가진다 : food, car, and animal

위의 예제처럼 두 객체 프라퍼티를 동적으로 머지시키고 싶은데요. 어떻게 하면 좋을지 모르겠습니다. 가장 간단한 방법을 알려주세요.

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    for (var attrname in obj2) { obj1[attrname] = obj2[attrname]; } 간단하게 이렇게하시면 obj1에 obj2의 property가 들어가게됩니다. obj1이 수정되길 원하지 않으신다면

    function merge_options(obj1,obj2){
        var obj3 = {};
        for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
        for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
        return obj3;
    }
    

    이런식으로 할수도있습니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.