Javascript 对象去极化中的访问变量
你的怎么样?嗯,我希望:) 我有这个密码Javascript 对象去极化中的访问变量,javascript,Javascript,你的怎么样?嗯,我希望:) 我有这个密码 // Setup var collection = { "5439": { "album": "ABBA Gold" } }; // Only change code below this line function updateRecords(id, prop, value) { if(!collection[id].hasOwnProperty(prop) && value !== ""){
// 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
我想在对象声明中访问我函数的value prop。但是声明中的prop值是类似于字符串的prop。我怎样才能改变它
这是执行代码后的集合
var collection = {
"5439": {
prop: "ABBA"
}
};
我不要像绳子一样的道具。我希望变量的值通过参数发送到函数,以设置对象的属性。请执行以下操作:
collection[id][prop] = value;
要设置对象的属性,请执行以下操作:
collection[id][prop] = value;
问题是prop:“ABBA”
实际上是prop
而不是变量prop。改为:
function updateRecords(id, prop, value) {
if(!collection[id].hasOwnProperty(prop) && value !== ""){
collection[id][prop] = value;
}
return collection;
}
这还解决了另一个问题,即覆盖整个对象,而不仅仅是更新目标属性。问题在于prop:“ABBA”
是字面意义上的prop
而不是变量prop。改为:
function updateRecords(id, prop, value) {
if(!collection[id].hasOwnProperty(prop) && value !== ""){
collection[id][prop] = value;
}
return collection;
}
这还解决了另一个问题,即覆盖整个对象,而不仅仅是更新目标属性