如何将subCategory作为函数的参数传递?我有一个可行的解决方案,只是传入参数,然后进行切换以使JSON.subcategory从正确的位置读取。但是,我觉得在使此功能更加实用或面向对象友好方面缺少一些东西。
因此,有一种方法可以使传递的参数将其理解为变量,而不是对象文字。
json = {
weather: ["rain", "snow","sun"],
news: ["events", "local","world"]
}
messageBuilder(weather)
function messageBuilder(passedVariable){
var object = json.passedVariable;
// object = json.weather
console.log(JSON.stringify(object));
}
我还正确使用了这些术语吗?我试图在Google上寻找答案,但最终没有真正找到任何东西。
答案 0 :(得分:1)
只需将对象属性键名称(子类别)作为字符串传递,并使用括号表示法从函数中的数据中选择它即可。
注意:这是一个对象,而不是JSON,因此在示例中已将其命名为这样。
const obj = {
weather: ["rain", "snow", "sun"],
news: ["events", "local", "world"]
};
messageBuilder('weather');
function messageBuilder(subCat){
var object = obj[subCat];
console.log(JSON.stringify(object));
}
答案 1 :(得分:0)
只需稍微修改一下代码:
json = {
weather : [
"rain", "snow","sun"
],
news : [
"events", "local","world"
]
}
messageBuilder('weather');
function messageBuilder(passedVariable){
var object = json[passedVariable];
// object = json.weather
console.log(object);
}
首先,您应该将参数作为字符串传递。然后只需使用object ['property']
从对象中拉出属性