在javascript中使用字典(关联数组)中的变量

在javascript中使用字典(关联数组)中的变量,javascript,arrays,dictionary,Javascript,Arrays,Dictionary,我有一个特别的脚本,它使用javascript命令 var z= 'Bingo'; var fruit={ 'Bingo' :1}; var fruit2={ z :1}; alert(fruit[z]); alert(fruit2[z]); alert(fruit2['z']); 第一个警报给出预期值1。但是,第二个警报的警报值为“未定义”,第三个警报的输出值为1。是否有一种在字典中使用变量的方法,即,我们可以指定javascript解释器将z作为变量而不是字符串“z”来读取 谢谢 是的,您

我有一个特别的脚本,它使用javascript命令

var z= 'Bingo';
var fruit={ 'Bingo' :1};
var fruit2={ z :1};
alert(fruit[z]);
alert(fruit2[z]);
alert(fruit2['z']);
第一个警报给出预期值1。但是,第二个警报的警报值为“未定义”,第三个警报的输出值为1。是否有一种在字典中使用变量的方法,即,我们可以指定javascript解释器将z作为变量而不是字符串“z”来读取


谢谢

是的,您可以很容易地做到这一点,但不能在对象文本中。对象文字中的属性名称按字面意思表示。它们不是变量名。如果不引用它们,JavaScript会隐式引用它们

例如,这两个对象文字是相同的:

{ a: 1 }

{ 'a': 1 }
要使用变量,需要在对象文字外使用
[]
符号:

var z = 'Bingo';
var fruit2 = {};
fruit2[z] = 1;

请解释一下,你怎么不能在一个对象文本中这样做。事实上,我有一个庞大的字典需要创建。上面的方法将是一项繁琐的工作,如果我可以在字典的内联定义中使用变量,我正在寻找一种方法。你不能这样做。如果要使用变量名而不是文字属性名,则必须使用
[]
表示法。啊。我现在明白问题和答案了。谢谢+1@AbhinavJain这种方法应该不会太麻烦。我相信不清楚你在问什么。这个问题似乎离题了,因为它是关于一个非常基本的功能,这在任何教程的第一页都有介绍。