Javascript 访问for循环中的动态变量名
我对for循环“tostring”迭代有一个基本问题 说明:Javascript 访问for循环中的动态变量名,javascript,Javascript,我对for循环“tostring”迭代有一个基本问题 说明: 共有12个容器 我想检测用户何时在12个容器中的任意3个容器中写入siword 如果用户键入si整整3次,我会设置一个名为的警报,这是您发出的 问题: 很可能该行不正确:if(cube[i].includes(“si”) 不知道如何检查for循环中的所有容器,只是为了计算siword的数量。(将数字添加到for循环中的字符串以调用其他变量,例如cube1、cube2、cube3等) 任何帮助都将不胜感激,谢谢:) 函数转换(){ va
容器si
wordsi
整整3次,我会设置一个名为的警报,这是您发出的代码>
if(cube[i].includes(“si”)
si
word的数量。(将数字添加到for循环中的字符串以调用其他变量,例如cube1、cube2、cube3等)函数转换(){
var cube1=document.getElementById(“cube\u slot1”).value;
var cube2=document.getElementById(“cube_slot2”).value;
var cube3=document.getElementById(“cube_slot3”).value;
var cube4=document.getElementById(“cube_slot4”).value;
var cube5=document.getElementById(“cube_slot5”).value;
var cube6=document.getElementById(“cube_slot6”).value;
var cube7=document.getElementById(“cube\u slot7”).value;
var cube8=document.getElementById(“cube\u slot8”).value;
var cube9=document.getElementById(“cube\u slot9”).value;
var cube10=document.getElementById(“cube\u slot10”).value;
var cube11=document.getElementById(“cube\u slot11”).value;
var cube12=document.getElementById(“cube_slot12”).value;
var计数器=0;
for(var i=1;i也许您可以简化您的方法,但在for循环中迭代元素(通过动态id
),并计算在输入值中找到si
子字符串的次数
如果遇到三种或三种以上的情况,请显示警报(),然后提前中断循环:
函数转换(){
对于(变量i=1;i=3){
警惕(“你成功了!”);
打破
}
}
}
也许您可以简化您的方法,但是在for循环中迭代元素(通过动态id
),并计算在输入值中找到si
子字符串的次数
如果遇到三种或三种以上的情况,请显示警报(),然后提前中断循环:
函数转换(){
对于(变量i=1;i=3){
警惕(“你成功了!”);
打破
}
}
}
您没有名为cube
的数组,这正是cube[i]
试图访问的内容。请使用数组而不是12个单独的变量!您没有名为cube
的数组,这正是cube[i]的内容
正在尝试访问。请使用数组而不是12个单独的变量!也许给所有元素指定一个类会使使用getElementsByClassName()更容易@PabloMáximo是的,如果在标记中定义了一个公共类,那么这将是一种理想的方法。您还可以使用queryselectorall:和循环遍历标记中的每个元素return@Dacre丹尼更优雅的方法和工作。非常感谢你教我。@ StAXO163,不客气,很高兴我能帮助。请考虑接受这个ANSW。呃(通过单击白色箭头)如果您发现它有帮助:-)也许给所有元素提供一个类会使使用getElementsByClassName()@PabloMáximo变得更容易是,如果在标记中定义了一个公共类,那么这将是一种理想的方法。您还可以使用queryselectorall:and循环遍历标记中的每个元素return@Dacre丹尼的方法更优雅,也更有效。非常感谢你教我。@ StAXO163,不用客气,很高兴我能帮助你。如果你觉得它有用的话,请考虑接受这个答案(点击白色箭头):
function transmute() {
var cube1 = document.getElementById("cube_slot1").value;
var cube2 = document.getElementById("cube_slot2").value;
var cube3 = document.getElementById("cube_slot3").value;
var cube4 = document.getElementById("cube_slot4").value;
var cube5 = document.getElementById("cube_slot5").value;
var cube6 = document.getElementById("cube_slot6").value;
var cube7 = document.getElementById("cube_slot7").value;
var cube8 = document.getElementById("cube_slot8").value;
var cube9 = document.getElementById("cube_slot9").value;
var cube10 = document.getElementById("cube_slot10").value;
var cube11 = document.getElementById("cube_slot11").value;
var cube12 = document.getElementById("cube_slot12").value;
var counter = 0;
for (var i = 1; i <= 12; i++) {
if (cube[i].includes("si")) {
counter += 1;
}
}
if (counter == 3) {
alert("You made it!");
}
}