JS:当三个数值中有超出平均值±10%时,应剔除后再取平均值,如果三个值都超过,ALERT
现有三个数值,当三个数值中有超出平均值±10%时,应剔除后再取平均值,如果三个值都超过,ALERT...
现有三个数值,当三个数值中有超出平均值±10%时,应剔除后再取平均值,如果三个值都超过,ALERT
展开
1个回答
展开全部
<script>
var num1=[13,14,15];
var num2=[13,14,16];
var num3=[11,12,19];
test(num1); // 全部符合,平均值14
test(num2); // 16不符合被排除,之后平均值13.5
test(num3); // 全部不符合
function test(num){
var result=[];
var sum=0;
for(var n in num){
sum+=num[n];
}
var avg=sum/num.length;
var avgL=avg*0.9;
var avgU=avg*1.1;
var i=-1;
for(var n in num){
var temp=num[n];
if(avgL<=temp&&temp<=avgU){
i++;
result[i]=temp;
}
}
if(result.length==0){
alert("所有数都不在平均值±10%范围内");
return;
}
sum=0;
for(var n in result){
sum+=result[n];
}
avg=sum/result.length;
alert("符合平均值±10%范围内的数是:"+result+",它们的平均值是"+avg);
return avg;
}
</script>
var num1=[13,14,15];
var num2=[13,14,16];
var num3=[11,12,19];
test(num1); // 全部符合,平均值14
test(num2); // 16不符合被排除,之后平均值13.5
test(num3); // 全部不符合
function test(num){
var result=[];
var sum=0;
for(var n in num){
sum+=num[n];
}
var avg=sum/num.length;
var avgL=avg*0.9;
var avgU=avg*1.1;
var i=-1;
for(var n in num){
var temp=num[n];
if(avgL<=temp&&temp<=avgU){
i++;
result[i]=temp;
}
}
if(result.length==0){
alert("所有数都不在平均值±10%范围内");
return;
}
sum=0;
for(var n in result){
sum+=result[n];
}
avg=sum/result.length;
alert("符合平均值±10%范围内的数是:"+result+",它们的平均值是"+avg);
return avg;
}
</script>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询