提问者:小点点

带有javascript循环问题


开发一个程序,允许人们进入办公室的基础上,这些名字,这只是一个测试程序,以实践和发展我的技能在JavaScript.。。 为什么当users输入和my数组(Employees)成功匹配时会执行“Try Again”语句?

    // program to allow people to enter the office
console.log("Welcome to Company X, Please follow the")

let Employees = ["Harry","Dom","j"]
let visitors = prompt("Hi, Enter your name")
let attempts = 0
let alert = 2

for(let i = 0; i<Employees.length;i++) {
   while(visitors!=Employees[i] && attempts<alert) {
   attempts = attempts + 1 
   visitors = prompt("try again")
  }  
   if(visitors===Employees[i]) {
   console.log("Please move forward")
   } 
  } 
   
if (attempts>=alert) {
  console.log("Security ON-ROUTE!")
} 

共1个答案

匿名用户

让我们想想这里发生了什么。

首先,在employees[0]中有“harry”,假设我输入了“harry”作为“visiters”

因此while循环具有false条件,它将运行console.log(“please move forward”)

但它不会停止,现在employees[1]将是“dom”,因此While循环条件将为true,并将再次询问您的姓名,等等。

所以其中一个解决办法就是加上:

null

 if(visitors===Employees[i]) {
       console.log("Please move forward")
       i = Employees.length ;
       }