【发布时间】:2019-06-16 06:00:18
【问题描述】:
我有多个包含一个问题和两个答案选项的数组变量。它们用于改变问题的调查。
var q1 = ["question","option1","option2"];
var q2 = ["question","option1","option2"];
...
var q8 = ["","",""];
var q9 = ["","",""];
我希望能够自动更改用户通过的问题数量。我这样做的方法是添加一个for循环来检查数组是否为空,如果数组为空,它将完成对之前问题的调查。
这是我尝试过的:
for (i = 1; i < 9; i++) {
if ("q"+i = ["","",""]) {
console.log("Stopped at "+i);
finishSurvey():
i = 9; //Stop for-loop
} else {
console.log("Error");
}
}
这里的问题是if-argument的左边,我也试过这个:
if (qi = ["","",""]) {
但是,它将选择第一个可用选项 (1)。使用 == 或 === 会使 qi 未定义。如何使用 for 循环检查所有数组变量是否为空?每次循环运行时,我都需要一种方法来增加第二个数字,然后将其作为变量读取。
我可以用很长的 if-sentence 来做到这一点,但如果我有更多问题,那就太痛苦了。
【问题讨论】:
-
"我有多个变量" - 你的问题。永远不要使用带有枚举名称的变量 - 使用数组来代替,例如
var q = [q1, q2, q3, …];然后您可以轻松地迭代这个问题数组。
标签: javascript for-loop variables arguments var