For循环转换一系列变量
For loop to convert series of variables
我正在尝试创建一个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的博客文章:"Javascript中的变量"。相关片段:
使用所有全局变量都保存在窗口中的事实大堆
var i=1; window['name' + i] = 'Marco'; document.write('got ' + name1);
我们开始了!漂亮,干净,不需要评估()。"
我们需要了解更多信息才能为您提供准确的代码,但为了通过字符串寻址变量,它需要是对象的属性。例如
window.example = 'hello world';
alert(window['example']);
所以它实际上取决于QuestN
变量是什么。它们是<input>
元素的id吗?它们是全局变量吗?它们是用var
关键字在本地范围内定义的吗?
如果可以更改Quest..
的定义方式,则将其定义为一个数组,以便执行以下操作:
Quest[q].text = quests[q];
如果不能临时创建Quest..
对象的数组:
var QUESTS = [];
QUESTS[0] = Quest0;
QUESTS[1] = Quest1;
QUESTS[2] = Quest2;
QUESTS[3] = Quest3;
QUESTS[4] = Quest4;
QUESTS[5] = Quest5;
QUESTS[6] = Quest6;
QUESTS[7] = Quest7;
QUESTS[8] = Quest8;
QUESTS[9] = Quest9;
QUESTS[10] = Quest10;
QUESTS[11] = Quest11;
QUESTS[12] = Quest12;
QUESTS[13] = Quest13;
QUESTS[14] = Quest14;
QUESTS[15] = Quest15;
然后你可以做:
for (var q=0; q<=activeQuests; q++) {
QUESTS[q].text = quests[q]
}
显然,这是一个更丑陋的解决方案,但比eval
IMHO要好得多。
我认为,与其为每个索引定义不同的变量,不如保留"quests"数组。
但是,如果要循环,请尝试循环中的eval("Quest" + q + ".text = quests[q]")
。
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 值对象在某个变量发生更改后发生更改
- Javascript变量赋值|
- AngularJS-在JSON选择器中使用变量名
- Javascript计数器变量未显示正确的值
- delete关键字在全局变量上的不同行为
- 如何在php变量中嵌入JQuery代码
- 如何根据变量中的一系列类检查所有列表项 ID
- 从一系列类中保存大量变量
- For循环转换一系列变量
- 如何传递数组的数组作为一系列变量