首页 > 解决方案 > 获取数组的平均数,如果其中一个在 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,提示必须停止循环。

提前致谢!

标签: javascriptarraysalgorithmfor-loopbreak

解决方案


我会将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 循环将停止。


推荐阅读