2015-02-24 80 views
-1

我已经设置了用户输入数组的长度。然后提示他们将数字添加到数组中以供使用。问题是,提示被困在无尽的循环中,即使我认为我有while while循环设置正确,但显然不是。这里是代码:当数组长度满足时,循环不停止

 function startProcess() { 
      var arraySize = document.getElementById("txtSize").value; 

      alert("the value is " + arraySize); 

      var myArray = arraySize; 

      do { 
       parseInt(prompt("Please enter a number").value); 
      } while (myArray <= arraySize); 
     } 

如果我能得到这一块工作,那么一切都假的地方。感谢您的时间和专业知识。

+9

'myArray'和'arraySize'都不会改变,所以你什么时候预期循环停止?另外,你似乎从来不会对用户插入的内容做任何事情。 – Biffen 2015-02-24 15:48:33

回答

-1

.value的结果字符串不是numbers.You需要将它转换与parseInt函数()

function startProcess() { 
      var arraySize = document.getElementById("txtSize").value; 

      alert("the value is " + arraySize); 




      var myArray =parseInt(arraySize); 

       do {parseInt(prompt("Please enter a number").value); 

      } while (myArray <= arraySize); 




      } 
+2

这不会解决问题,循环仍然是无限的。 – 2015-02-24 15:53:34

+0

是的,你是对的。没有变量是如此循环改变永远循环 – cssGEEK 2015-02-24 15:54:26

+0

如果我正确地理解你的问题是在arraySize代码?它没有得到这些信息,并将其转入循环? – r0b3rtwilkes 2015-02-24 16:09:49

6

整数 在这个部分:

var myArray = arraySize; 

do { 
    parseInt(prompt("Please enter a number").value);  
} while (myArray <= arraySize); 

设置myArrayarraySize,那么你运行然后循环,而myArray(已设置为arraySize)小于或等于arraySize,显然它将始终相等。