如何在for循环中正确动态设置变量名?

时间:2013-11-11 16:41:39

标签: javascript

以下是我现在的代码:

var ids = ["games", "lkarma", "ckarma", "twitter", "ram", "monitors"];
for (var i = 0; i < ids.length; i++) {
  ids[i] = parseInt(document.getElementById(ids[i]).value, 10);
}

我想要它做的是将变量games设置为id为games的元素,但是这段代码只是为每个变量返回undefined。

2 个答案:

答案 0 :(得分:0)

我认为您需要一个存储数据的自定义对象。您可以使用当前的ID数组来创建它。像这样:

var ids = ["games", "lkarma", "ckarma", "twitter", "ram", "monitors"];

var myData = {};

for (var i = 0; i < ids.length; i++) {
    var id = ids[i];
    myData[id] = parseInt(document.getElementById(id).value, 10);
}

然后您可以这样使用它:

var games = myData["games"];

var games = myData.games;

Here is a working example

答案 1 :(得分:0)

您可以使用window对象:

var ids = ["games", "lkarma", "ckarma", "twitter", "ram", "monitors"];

for (var i = 0; i < ids.length; i++) {
    window[ids[i]] = i;
}

console.log(games);
console.log(lkarma);
console.log(ckarma);
// ...