[英]How to ask a user for an input and reverse that input
// *使用提示询问用户数值。 // *完成询问用户何时输入非数字值,空字符串或按“取消”。 // *以相反的顺序返回输入数字的数组。
// PS Zero是一个有效数字,请不要在零上停止输入。
尝试了一个do / while循环,但我能得到的最大数组的长度为2
let userInput
let reverseArray = []
do {
userInput = prompt('Enter a number')
reverseArray.unshift(userInput)
} while(userInput == /\d*/){
userInput = prompt('Enter a number')
reverseArray.unshift(userInput)
}
您的代码中存在一些问题
while (userInput === /\\d*/)
尝试将userInput与/\\d*/
string匹配,如果您打算使用它来测试数字,则需要使用test
do{} while(condition)
阻塞后没有意义(即使你在第一次迭代后失败,这个块也允许你第二次提示) let userInput let reverseArray = [] do { userInput = prompt('Enter a number') if(/^\\d+$/.test(userInput)){ reverseArray.unshift(+userInput) } } while (/^\\d+$/.test(userInput)) console.log(reverseArray)
您可以简单地使用本机方法isNaN
来检查userInput是否为数字
有一个名为isNaN的函数,它检查数字是否为数字。 这是参考isNaN 。 以下是同一问题的示例代码,您可以看看。
function reverseInput() { const reverseArray = []; let number = parseInt(prompt('Enter number')); while (!isNaN(number)) { reverseArray.unshift(number); number = parseInt(prompt('Enter number')); } console.log(reverseArray); } reverseInput()
简单的while
会做:
let userInput = prompt('Enter a number'); let reverseArray = []; while (userInput != null && !isNaN(userInput) ) { reverseArray.unshift(+userInput); userInput = prompt('Enter a number'); } console.log(reverseArray);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.