如何获得变量的值?

时间:2014-03-02 07:36:33

标签: javascript node.js

这是我的nodeJs程序中的代码片段。我有一张名为transMap的地图。我想读取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"}

1 个答案:

答案 0 :(得分:2)

当你这样做时:

var jsonResponse = {
  arg : 'someArg'
}

arg无法评估其值。相反,它被用作'arg'本身。要评估它的值,可以这样设置:

jsonResponse[arg] = 'someArg'

使用[]表示法时,密钥(此处为arg)始终会在范围内进行评估。

Example jsFiddle