如何将第二个对象的值添加到第一个对象?
问题描述:
我自己学习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' }
可能有人好心劝进一步我?谢谢! :)
答
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
到'addObjectProperty()的调用'需要是**外**的函数,而不是内部。 – Pointy
非常感谢! – learninghowtocode
@Pointy当我做你的建议时,我会得到:**先生。罗伯茨,主管**而不是** {姓名:'先生罗伯茨',角色:'主管'} **。我将如何解决这个问题?我尝试添加** obj1 [key] = obj2 **,但它没有改变任何东西。或者,易卜拉欣如何编写下面的代码是最好的方法呢?非常感谢! – learninghowtocode