2012-11-04 138 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]); 

直接引用最內層數組的元素而不使用臨時變量。