Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在一个提示中获得3个值,使用特殊字符分隔值以避免写入3个提示?javascript_Javascript - Fatal编程技术网

如何在一个提示中获得3个值,使用特殊字符分隔值以避免写入3个提示?javascript

如何在一个提示中获得3个值,使用特殊字符分隔值以避免写入3个提示?javascript,javascript,Javascript,我最近开始学习Javascript,有一些小任务,用户输入3个数字,程序选择最小的一个。我只能使用3个提示来完成。有没有办法让用户在一个提示中输入所有3个数字 while(true){ 变量a、b、c; a=+提示(“输入数字”); 如果(!a){ 打破 } b=+提示(“输入数字”); 如果(!b){ 打破 } c=+提示(“输入数字”); 如果(!c){ 打破 } var mimNumber=数学最小值(a、b、c); 警报(“最小数字为”+mimNumber); }您可以让用户输入数字,

我最近开始学习Javascript,有一些小任务,用户输入3个数字,程序选择最小的一个。我只能使用3个提示来完成。有没有办法让用户在一个提示中输入所有3个数字

while(true){
变量a、b、c;
a=+提示(“输入数字”);
如果(!a){
打破
}
b=+提示(“输入数字”);
如果(!b){
打破
}
c=+提示(“输入数字”);
如果(!c){
打破
}
var mimNumber=数学最小值(a、b、c);
警报(“最小数字为”+mimNumber);

}
您可以让用户输入数字,然后将数字拆分,并将每个元素与一个变量进行比较,以找到最小的数字(从新创建的数组中的第一个项目开始。然后迭代该数组,并将每个项目与最小的数字进行比较,如果较小,则替换最小的数字)

请注意,我不建议这样做-它只是回答您的问题,以便能够在一个提示中获取数字,然后从中获取最小的数字。此外,如果用户输入的数字使用除“,”以外的任何其他分隔符,这将断开-因此这不是一个好的解决方案-它只是回答问题

var nums=prompt(“输入3个以逗号分隔的数字”);
var numArr=nums.split(',');
var minNum=parseInt(numar[0]);
numar.forEach(函数(num){
设numb=parseInt(num);
如果(numb警报(“最小的数字是“+minNum”);
另一份@gavgrif'sanswer的副本,仅用于显示不同的方法

var numbers=prompt(“输入3个以逗号分隔的数字”);
var minimate=Math.min.apply(null,numbers.split(',').map(Number));

警告(“最小的数字是”+最小的);
首先,您需要删除所有非数字符号。最好的方法是使用RegExp

const initialText = '123, 32hfg54, 78';
const regExp = new RegExp("\\D");
const splittedArray = initialText.split(regExp).map(number => parseInt(number)).filter(number => Number.isInteger(number));
结果是,您将在
splittedArray
中拥有数字数组。您应该检查其中是否只有3个数字(如果需要),并找到最小数字

if (splittedArray.length !== 3) {
    throw new Error('You should enter 3 number');
}
const minNumber = Math.min(...splittedArray);

如果您愿意接受诸如使用特殊字符分隔值之类的解决方案,请告诉我,然后我重新打开此问题。但是,如果您询问如何在一个提示中创建两个或多个字段,这是重复的,请查看链接以获得答案。@user2314737是的,我愿意接受诸如使用特殊字符分隔值之类的解决方案把这些值分开,谢谢你事实上,你已经有了答案(这对我来说是个谜,因为我把这个问题标记为重复).@AndyG根据您的说明编辑问题,以便重新打开它。不用担心,我只是重新打开了它。@gavgri如果您的答案不起作用……我会让您找出原因。提示:
number!=string
@GerardoFurtado-它起作用-我运行了它并输入了6,3,2,它正确地将2标识为最小的数字,1111111。此外,
排序
也不是这样工作的。@GerardoFurtado-如此修改-现在smallestNum==GerardoFurtadoNow更好。下面是一个简短的版本,您可能需要使用: