1

我有这个:

var JSON = [
    {
        "id": 1,
        "name1": "Seymore Butts",
        "name2": "Jane Doe",
        "name3": "John Smith",
        "name4": "Mike Hawk"
    }];
for (i = 1; i < 5; i++) {
    var index = "name" + i;
    window.console.log(JSON[0].index);
}

当然它变得不确定,因为它正在寻找

JSON[0].index 

代替

JSON[0].name1 

有什么方法可以强制它评估索引变量而不是仅仅读取“索引”?

4

2 回答 2

4

是的,只需将您的语法更改为:

window.console.log(JSON[0][index]);
于 2013-08-02T17:44:24.953 回答
2

用这个:

for (i = 1; i < 5; i++) {
    var index = "name" + i;
    window.console.log(JSON[0][index]);
}

.[]这里的区别在于object.sub_field它将尝试访问名为的字段sub_field,而object[sub_field]将尝试访问以“变量中的任何内容”命名的字段sub_field

于 2013-08-02T17:44:17.433 回答