首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问for循环中的动态变量名

访问for循环中的动态变量名
EN

Stack Overflow用户
提问于 2018-11-04 09:12:52
回答 1查看 262关注 0票数 0

对于for循环"tostring“迭代,我有一个基本问题。

描述:

  1. 有12个<input type="text">容器。
  2. 我想检测用户何时在12个容器中的任意3个中写入si单词。
  3. 如果用户输入si整整3次,我就设置一个名为You made it!的警报。

问题:

  1. 这一行很可能是不正确的:if(cube[i].includes("si"))
  2. 不确定如何签入for循环中的所有容器以计数si字数。(在for循环中向字符串中添加数字以调用另一个变量,如cube1、cube2、cube3等)

如有任何帮助将不胜感激,谢谢:)

代码语言:javascript
复制
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!");
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-04 09:18:00

也许您可以简化您的方法,但可以在for循环中(通过动态id)迭代元素,并计算在输入值中找到si子字符串的时间。

如果遇到三种或更多种情况,请显示警报(),然后从循环中提前中断:

代码语言:javascript
复制
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
    }
  }
}

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53139250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档