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

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

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

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

4

3 回答 3

6

像这样做:

var select = 'country';
console.log(example['fr'][select]);
于 2012-11-04T21:00:31.183 回答
4
console.log(example['fr'][select]);

也许?

于 2012-11-04T21:00:42.560 回答
1

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

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

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

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

或使其更简洁:

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

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

于 2012-11-04T21:24:40.413 回答