使用属性名称的变量定义对象

时间:2014-02-17 18:57:10

标签: javascript variables object-literal

我在声明一个对象时遇到了问题。当我定义一个对象并通过引用传递时,字符串无法识别我并失败。对象如下:

markerGroups = {"america": [], "europa": [], "asia": [],"africa": [], "oceania": [] };

嗯,它工作正常,但如果我改变,例如,“美国”把变种amer =“美国”,就像这样:

var amer = "america"; 
markerGroups = {amer: [], "europa": [], "asia": [],"africa": [], "oceania": [] };

它不起作用。我需要做些什么才能解决这个问题?

2 个答案:

答案 0 :(得分:2)

在JavaScript中,您无需引用对象键。所以amer: []正在创建文字键“amer”。

您需要使用[]方法执行此操作:

var amer = "america"; 

markerGroups = {...};
markerGroups[amer] = [];

答案 1 :(得分:1)

像这样的东西;

var markerGroups = {}
var amer = "america"; 
markerGroups[amer] = [];