你好吗?我希望:)
我有这段代码
// Setup
var collection = {
"5439": {
"album": "ABBA Gold"
}
};
// Only change code below this line
function updateRecords(id, prop, value) {
if(!collection[id].hasOwnProperty(prop) && value !== ""){
collection[id] = {
prop: value
};
}
return collection;
}
// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");
专注于功能updateRecords。
我希望在对象的声明中访问我的函数的值prop。但声明中prop的值是一个字符串。我怎样才能改变它?
这是执行代码后的集合
var collection = {
"5439": {
prop: "ABBA"
}
};
我不希望道具像弦一样。我想通过函数
的参数发送变量的值答案 0 :(得分:3)
要设置对象的属性,请执行以下操作:
collection[id][prop] = value;
答案 1 :(得分:1)
问题是prop: "ABBA"
字面上prop
而不是变量道具。改为:
function updateRecords(id, prop, value) {
if(!collection[id].hasOwnProperty(prop) && value !== ""){
collection[id][prop] = value;
}
return collection;
}
这也解决了你遇到的另一个问题,就是你覆盖了整个对象,而不仅仅是更新目标属性。