对象文字变量

时间:2012-11-04 20:59:28

标签: javascript variables select literals

var example= {
        'fr' : {
            name: "France",
            country: "europe",
        },
        'es' : {
            name: "Espana",
            pre: "europe",
        },
    };

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

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

我希望这段代码返回“欧洲”,但事实并非如此。我怎么能以简单的方式做到?

3 个答案:

答案 0 :(得分:6)

这样做:

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

答案 1 :(得分:4)

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

可能?

答案 2 :(得分:1)

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

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

并且您必须从中获取绑定到country键的值:

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

或使其更简洁:

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

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