我有一个for循环“ tostring”迭代的基本问题。
说明:
<input type="text">
容器。si
字。si
,我会设置一个名为You made it!
的警报。问题:
if(cube[i].includes("si"))
。si
字的数量来检查for循环中的所有容器。 (在for循环的字符串中添加数字,以调用其他变量,例如cube1,cube2,cub3等)任何帮助将不胜感激,谢谢:)
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!");
}
}
答案 0 :(得分:3)
也许您可以简化方法,但是可以在for循环中迭代元素(通过动态id
),并计算在输入值中发现si
子字符串的情况。
如果遇到三个或更多情况,则显示alert(),然后从循环中提早中断:
function transmute() {
for(var i = 1; i <= 12; i++) {
var id = 'cube_slot' + i;
var value = document.getElementById(id).value;
if(value.includes('si')) {
counter += 1;
}
if(counter >= 3) {
alert("You made it!");
break
}
}
}