2017-02-23 21 views
-2

私は自分でJavaScriptを学習しており、チュートリアルを進めていて、2番目のオブジェクトの値を最初のオブジェクトに追加する方法を理解できません。私はこのHow can I add a key/value pair to a JavaScript object?を見ようとしましたが、私はそれに従うことができませんでした。以下 は、私が書いたコードです:最初のオブジェクトに2番目のオブジェクトの値を追加する方法は?

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