Javascript 传递参数以构建JSON对象
如何将子类别作为函数的参数传入?我有一个可行的解决方案,只需传入参数,然后让一个开关执行工作,使JSON.subcategory从正确的位置读取。然而,我觉得在使它更具功能性或OO友好性方面,我缺少了一些东西 因此,有没有一种方法可以让传递的参数理解它是一个变量,而不是对象文字Javascript 传递参数以构建JSON对象,javascript,node.js,Javascript,Node.js,如何将子类别作为函数的参数传入?我有一个可行的解决方案,只需传入参数,然后让一个开关执行工作,使JSON.subcategory从正确的位置读取。然而,我觉得在使它更具功能性或OO友好性方面,我缺少了一些东西 因此,有没有一种方法可以让传递的参数理解它是一个变量,而不是对象文字 json = { weather: ["rain", "snow","sun"], news: ["events", "local","world"] } messageBuilder(weather) fu
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));
}
我是否正确使用了这些术语?我试图在谷歌上搜索答案,结果什么也没找到。只需稍微修改一下代码:
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']从对象中拉出属性只需将对象属性键名称(子类别)作为字符串传入,并使用括号表示法从函数中的数据中选取它 注意:这是一个对象,而不是JSON,因此我在示例中将其命名为JSON
const obj={
天气:[“雨”、“雪”、“太阳”],
新闻:[“事件”、“本地”、“世界”]
};
messageBuilder(“天气”);
函数messageBuilder(子目录){
var object=obj[subCat];
log(JSON.stringify(object));
}
您可以调用messageBuilder(json.weather)
,然后调用json.stringify(passedVariable)
这里的“子目录”示例是什么?天气
/新闻
列表中的项目?@James。天气和新闻是子类别,完整的用例是根据计数调用它们。所以最后一行会变成类似于object[count]@whatkai在这种情况下,messageBuilder
真的需要了解json
?为什么不能直接调用messageBuilder(json.weather)
?或者您是否将子类别作为变量接收?我看不出有必要关闭这里。