javascript - 获取数组的平均数,如果其中一个在 JS 上为 -1,则中断
问题描述
我正在解决大学时遇到的一些问题,但我无法解决这个问题。练习是这样的:
创建一个程序,用户输入数字直到输入“-1”,在这种情况下,程序会中断并打印输入数字的平均值。
我在 JS 上写过这个
array=[];
for( var i =0; i<3; i++){
val = parseInt(prompt( "Insert your numbers: "));
array.push(val)
}
function insert (array){
var sum = 0;
array.forEach(num=>{
sum+= (num) / array.length;
})
return sum
}
console.log( "Average is " + Math.round(insert(array)))
我试着写:
if (val == -1){
breaks;
}
但它只是打破了一切。我知道也许有一种更简单的方法来解决它,而且我可能还在为循环中的逻辑而苦苦挣扎。问题是,如果用户插入 -1,提示必须停止循环。
提前致谢!
解决方案
我会将for循环更改为while,这样循环只会在用户输入-1时终止(按照您当前编写的方式,一旦用户输入3个数字,for循环将终止)。如果您在更改为等于用户输入的 while 循环之前初始化一个变量,那么您甚至可以处理循环定义中的逻辑。
前任:
array = [];
user_input = 0;
while (user_input != -1 ) {
user_input = parseInt(prompt( "Insert a number: "));
array.push(user_input)
}
此代码应不断提示用户,直到他们输入 -1,此时 while 循环将停止。
推荐阅读
- react-native - 无法使用 PushNotificationIOS(react-native-ios)在任何应用程序状态下接收通知
- utf-8 - 在 Dropwizard 中处理来自码头的 Servet 异常
- github - 当我在我的分支上工作时,我的推送没有显示在 GitHub 上
- jquery - 仅在动画后开始滚动
- python - 由于某种原因,Docker python 图像真的很大
- python - python上的一列到两列列表
- python - Python null(未定义)检查最佳方法
- opencv - 来自 EstimatePoseSingleMarkers 的变换矩阵
- sql - 挣扎于子查询和连接
- python - 使用切片列表对多维数组进行索引切片