我正在研究预训练营编码问题。我将一个对象(ourDog)和一个键(可靠地)传递给一个函数,该函数创建一个新属性(键:值对)并为该键分配一个true值。 查看输出,添加了属性,但是该键没有分配的值“ friendly”,它具有键的参数名称。我期望将key:value对设为(友好:true)。这是代码。
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
function addProperty(anObject, key) {
anObject.key = true;
return anObject;
};
var output = addProperty(ourDog, 'friendly');
console.log(output);
{name: "Camper", legs: 4, tails: 1, friends: Array(1), key: true}
答案 0 :(得分:0)
将其从点表示法更改为方括号。
function addProperty(anObject, key) {
anObject[key] = true;
return anObject;
};
当属性是有效的JavaScript标识符时,点符号用于访问对象的属性。由于“ friendly”是字符串,因此您需要使用方括号。