2012-11-04 83 views
1
var example= { 
     'fr' : { 
      name: "France", 
      country: "europe", 
     }, 
     'es' : { 
      name: "Espana", 
      pre: "europe", 
     }, 
    }; 

我想使用变量查找数组名称。这里有一个不起作用的例子:对象字面量变量

var select = 'country'; 
console.log(example['fr'].select); 

我想这段代码返回“欧洲”,但它没有。我怎么能以简单的方式做?

回答

6

做这样的:

var select = 'country'; 
console.log(example['fr'][select]); 
4
console.log(example['fr'][select]); 

可能?

1

您的代码存在的问题是您使用的语法错误。你有一个二维数组,即嵌套在另一个数组中的数组。因此,表达式example['fr']返回你两个成员的数组:

{ 
    name: "France", 
    country: "europe", 
} 

,你必须摆脱这势必country关键是这样的值:

ar2 = example['fr']; 
console.log(ar[select]); 

或使其更简洁:

console.log(example['fr'][select]); 

直接引用最内层数组的元素而不使用临时变量。