这是我的 nodeJs 程序中的一段代码。我有一张名为 transMap 的 map 。我想读取 yy 的值,获取“ipaddress”并将其作为 json 及其值传递出去。我本以为 json 响应是 { "ipaddress": "http://derivedURL.com"}
。但我得到的是 { arg : "http://derivedURL.com"}
我在这里遗漏了一些非常基本的东西。
var transMap = new Map();
transMap.set('xx', {rPath:'/xxs', sn:2,res:['rid']});
transMap.set('yy', {rPath:'/yys', sn:3, res: ['ipaddress','dns']});
transMap.set('zz', {rPath:'/zzs', sn:4, res:['uri', 'fqdn']});
var arg = (transMap.get(yy)).res[0] ; //arg = ipaddress
var jsonResponse = { arg : "http://derivedURL.com"};
console.log(jsonResponse); //
Edit1:arg 必须获得从 transMap 获得的“ipaddress”的值。派生 URL 派生自对本次讨论无关紧要的不同函数。
我的控制台现在显示:{ arg : "http://derivedURL.com"}
。但我希望它显示为 { "ipaddress": "http://derivedURL.com"}
最佳答案
当你这样做时:
var jsonResponse = {
arg : 'someArg'
}
arg
不会根据它的值进行评估。相反,它本身被用作“arg”。要根据它的值(value)评估它,您可以这样设置它:
jsonResponse[arg] = 'someArg'
当您使用 []
表示法时,键(这里:arg
)总是在作用域内被计算。
关于javascript - 如何获取变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22125079/