如何在javascript中找到平均值?
因此,我对JavaScript相当陌生,但我似乎无法在代码中找到平均值。我想了解为什么我的平均值不起作用。有什么可以帮你们的吗 函数getEvenOdd(){ var oddSum=0; var-evenSum=0; var num=0; var-evenAvg=0; var oddAvg=0; while(true){ num=parseInt(提示(“输入一个数字(-1以退出)”); 如果(num==-1){ 打破 } 如果(数值%2==0){ evenSum+=num; }否则{ oddSum+=num; } evenAvg=evenSum/num; oddAvg=oddSum/num; } 警报(“所有偶数之和为:“+evenSum”); 警报(“所有奇数之和为:“+oddSum”); 警报(“所有偶数的平均值为:“+evenAvg”); 警报(“所有奇数的平均值为:“+oddAvg”);如何在javascript中找到平均值?,javascript,Javascript,因此,我对JavaScript相当陌生,但我似乎无法在代码中找到平均值。我想了解为什么我的平均值不起作用。有什么可以帮你们的吗 函数getEvenOdd(){ var oddSum=0; var-evenSum=0; var num=0; var-evenAvg=0; var oddAvg=0; while(true){ num=parseInt(提示(“输入一个数字(-1以退出)”); 如果(num==-1){ 打破 } 如果(数值%2==0){ evenSum+=num; }否则{ odd
}在代码上,要计算
oddAvg
和evenAvg
,需要将evenSum
和oddSum
除以num
变量(从提示符输入)
如您所知,平均值
=总和
/总计数
,因此将总和除以输入的数字
变量是不对的
相反,您需要计算奇数
和偶数
的计数,并将偶数
和奇数
和除以偶数
和奇数
计数,如下所示
函数getEvenOdd(){
var oddSum=0;
var-evenSum=0;
var num=0;
var-evenAvg=0;
var oddAvg=0;
var-evenCount=0;
var-oddCount=0;
while(true){
num=parseInt(提示(“输入一个数字(-1以退出)”);
如果(num==-1){
打破
}
如果(数值%2==0){
evenSum+=num;
evenCount++;
}否则{
oddSum+=num;
oddCount++;
}
}
evenAvg=evenSum/evenCount;
oddAvg=oddSum/oddCount;
警报(“所有偶数之和为:“+evenSum”);
警报(“所有奇数之和为:“+oddSum”);
警报(“所有偶数的平均值为:“+evenAvg”);
警报(“所有奇数的平均值为:“+oddAvg”);
}
getEvenOdd()代码>这些操作是将evenSum
或oddSum
除以最后一次输入的num
evenAvg = evenSum / num;
oddAvg = oddSum / num;
您应该将总和除以偶数或奇数输入数。使用偶数和/输入数计数代替偶数和/num。这个解决方案怎么样?它的目标是将奇数和偶数存储到奇数列表和偶数列表中
函数getEvenOdd(){
var-evenAvg=0;
var oddAvg=0;
var-oddList=[];
var-evenList=[];
var num=0;
while(true){
num=parseInt(提示(“输入一个数字(-1以退出)”);
如果(num==-1){
打破
}
如果(数值%2==0){
push(parseInt(num));
}否则{
push(parseInt(num));
}
evenAvg=evenList.reduce((p,c)=>p+c,0)/evenList.length;
oddAvg=oddList.reduce((p,c)=>p+c,0)/oddList.length;
}
警报(“所有偶数的总和为:“+evenList.length”);
警报(“所有奇数的总和为:“+oddList.length”);
警报(“所有偶数的平均值为:“+evenAvg”);
警报(“所有奇数的平均值为:“+oddAvg”);
}
getEvenOdd()代码>您的问题不是如何使用javascript,而是平均值是多少-平均值是值的总数除以值的数量-您的代码将值的总数除以最后输入的数字。。。所以8,4,2,10的平均值是(8+4+2+10)/4。。。不是(8+4+2+10)/10