繁体   English   中英

如何询问用户输入并反转该输入

[英]How to ask a user for an input and reverse that input

  1. 反向输入数字//写入函数reverseInput():

// *使用提示询问用户数值。 // *完成询问用户何时输入非数字值,空字符串或按“取消”。 // *以相反的顺序返回输入数字的数组。

// 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)阻塞后没有意义(即使你在第一次迭代后失败,这个块也允许你第二次提示)
  • 您需要有一个条件,以避免向reverseArray添加非数字

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM