2017-02-23 2 views
-2

저는 독자적으로 JavaScript를 배우고 있으며 자습서를 진행하고 있으며 첫 번째 객체에 두 번째 객체의 값을 추가하는 방법을 이해할 수 없습니다. 이 How can I add a key/value pair to a JavaScript object?을 보려고했지만 그걸 따라갈 수 없었습니다.첫 번째 개체에 두 번째 개체의 값을 추가하는 방법은 무엇입니까?

var person1 = { 
     name: 'Joe', 
    role: 'specialist' 
}; 
var person2 = { 
    name: 'Mr. Roberts', 
    role: 'supervisor' 
}; 

function addObjectProperty(obj1, key, obj2) { 
    addObjectProperty(person1, 'manager', person2); 

    return (person1.manager = (person2.name + person2.role)); 
} 

console.log(person1.manager); 

내 결과를 반환 :

undefined 

하지만 반환해야합니다 :

// --> { name: 'Mr. Roberts', role: 'supervisor' } 

누군가가 친절하게 더 나 조언을 할 수 다음은 내가 쓴 코드는? 고맙습니다! :)

+3

addObjectProperty'에 대한 호출은()'할 필요 ** 외부 ** 기능이 아닌 내부. – Pointy

+0

정말 고마워 !! – learninghowtocode

+0

@Pointy 나는 당신의 제안을 할 때 : ** Mr. Roberts, 관리자 ** 및 ** {이름 : 'Mr. Roberts ', 역할 :'감독자 '} **. 어떻게 해결할 수 있을까요? ** obj1 [key] = obj2 **를 추가하려고 시도했지만 아무 것도 변경하지 않았습니다. 아니면 이브라힘이 아래의 코드를 작성하는 것이 최선의 방법일까요? 정말 고맙습니다! – learninghowtocode

답변

1

var person1 = { 
 
    name: 'Joe', 
 
    role: 'specialist' 
 
}; 
 
var person2 = { 
 
    name: 'Mr. Roberts', 
 
    role: 'supervisor' 
 
}; 
 

 
function addObjectProperty(obj1, key, obj2) { 
 
    obj1[key] = obj2; // using bracket notaion to add obj2 as a property of obj1 under the key key 
 
} 
 

 
// call the function outside its definition or it'll cause an infinite recursion 
 
addObjectProperty(person1, 'manager', person2); // person1.manager = person2 
 

 
console.log(person1);

+0

이 작품, 고마워요! – learninghowtocode

관련 문제