Javascript 平均查找器始终打印“0”
我正在尝试创建一个程序,该程序可以查找某人输入的一组数据的平均值。我已尝试使用此代码:Javascript 平均查找器始终打印“0”,javascript,arrays,Javascript,Arrays,我正在尝试创建一个程序,该程序可以查找某人输入的一组数据的平均值。我已尝试使用此代码: var data = []; var yesno = confirm("Would you like to add more data?"); while (yesno) { var newdata = prompt("Enter a piece of data (must be a number)"); data.push(newdata); var yesno = confirm("Would
var data = [];
var yesno = confirm("Would you like to add more data?");
while (yesno) {
var newdata = prompt("Enter a piece of data (must be a number)");
data.push(newdata);
var yesno = confirm("Would you like to add more data?");
}
var total = 0;
var i = 0;
if (!yesno) {
while (i < data.length) {
total + data[i];
i++;
}
var average = total / data.length;
document.write(average);
}
然而,当我运行它时,无论我输入什么,它总是打印“0”。提前感谢您的帮助。问题就在眼前
total + data[i];
此代码将在生成结果时执行。但是这个值没有发生任何变化。在javascript中,数字是基本类型。除对象外,所有数据类型都是对象。不能使用=将它们赋值来对其进行变异
您需要使用赋值表达式
total = total + data[i];
或者简称为
total += data[i];
另一个问题是,您没有将提示符的结果转换为数字。使用一元加号+将字符串转换为数字
下面是您的代码的更正版本
var数据=[];
var yesno=confirm是否要添加更多数据?;
而不是{
var newdata=+prompenter一段数据必须是一个数字;
data.pushnewdata;
var yesno=confirm是否要添加更多数据?;
}
var合计=0;
var i=0;
如果是的{
而itotal + data[i];
此代码将在生成结果时执行。但是这个值没有发生任何变化。在javascript中,数字是基本类型。除对象外,所有数据类型都是对象。不能使用=将它们赋值来对其进行变异
您需要使用赋值表达式
total = total + data[i];
或者简称为
total += data[i];
另一个问题是,您没有将提示符的结果转换为数字。使用一元加号+将字符串转换为数字
下面是您的代码的更正版本
var数据=[];
var yesno=confirm是否要添加更多数据?;
而不是{
var newdata=+prompenter一段数据必须是一个数字;
data.pushnewdata;
var yesno=confirm是否要添加更多数据?;
}
var合计=0;
var i=0;
如果是的{
而ivar data = [];
var yesno = confirm("Would you like to add more data?");
while (yesno) {
var newdata = prompt("Enter a piece of data (must be a
number)");
data.push(newdata);
var yesno = confirm("Would you like to add more
data?");
}
var total = 0;
var i = 0;
if (!yesno) {
while (i < data.length) {
total += data[i];
i ++;
var average = total / data.length;
document.write(average);
}
}
试试这个:
var data = [];
var yesno = confirm("Would you like to add more data?");
while (yesno) {
var newdata = prompt("Enter a piece of data (must be a
number)");
data.push(newdata);
var yesno = confirm("Would you like to add more
data?");
}
var total = 0;
var i = 0;
if (!yesno) {
while (i < data.length) {
total += data[i];
i ++;
var average = total / data.length;
document.write(average);
}
}
总数+数据[i];是一个孤立的表达。您必须使用=运算符分配给要分配给Happen的变量我认为您需要添加平均变量和文档;是一个孤立的表达。您必须使用=运算符分配给要分配给Happen的变量。我认为您需要添加平均变量和文档