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


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

obj1.merge(obj2);

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

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

  • 2016년 02월 25일에 작성됨

조회수 164


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;
}

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

  • 2016년 02월 25일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close