我正在尝试创建一个for循环,该循环执行的代码与此代码(任务是一个数组)完全相同:

Quest0.text = quests[0]
Quest1.text = quests[1]
Quest2.text = quests[2]
Quest3.text = quests[3]
Quest4.text = quests[4]
Quest5.text = quests[5]
Quest6.text = quests[6]
Quest7.text = quests[7]
Quest8.text = quests[8]
Quest9.text = quests[9]
Quest10.text = quests[10]
Quest11.text = quests[11]
Quest12.text = quests[12]
Quest13.text = quests[13]
Quest14.text = quests[14]
Quest15.text = quests[15]


到目前为止,我所得到的只是这个(activeQuests是数组任务的长度):

var q = 0;
for (q=0; q <= activeQuests; q++) {
    Quest0.text = quests[q]
}


但是我不知道该如何做其余的事情。

最佳答案

您可以使用eval,但您可能不应该使用。如果您拥有明显类似于数组的数据以至于逐个元素手动操作,则您可能应该重新考虑您的方法。

查阅Marco van Hylckama Vlieg的博客文章:"Variable Variables in Javascript"。相关摘要:


  ...使用所有全局变量都保存在窗口中的事实
  数组。

var i=1;
window['name' + i] = 'Marco';
document.write('got ' + name1);

  
  好了!不错,干净,不需要eval()。”

10-04 20:43