我有这个:
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
是否有任何方法可以强制它评估索引var而不只是阅读“index”?
答案 0 :(得分:4)
是的,只需将语法更改为:
window.console.log(JSON[0][index]);
答案 1 :(得分: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
命名的字段“变量{{1}}中的任何内容”。