gpt4 book ai didi

Javascript 平均数组

转载 作者:数据小太阳 更新时间:2023-10-29 05:58:37 26 4
gpt4 key购买 nike

这是我的第一篇文章。我正在编写一个程序来从四个输入框获取输入,找出这四个输入框的总和并求出平均值。当我这样做时,我得到一个 NaN 错误,有人可以指出我哪里出错了。谢谢

<html>
<head>
<title> Average marks </title>

<script type = "text/javascript">

function average(form)
{

scores = new Array(4)

scores [0] = form.mark1.value
scores [0] = new Number(scores[0])
scores [1] = form.mark2.value
scores [1] = new Number(scores[1])
scores [2] = form.mark3.value
scores [2] = new Number(scores[2])
scores [3] = form.mark4.value
scores [3] = new Number(scores[3])


var Sum = 0
var average

for(var x = 0; x < scores.length; x ++)
{
Sum = Sum + scores[x]
average = Sum / scores[x]
}



document.write("The sum of the marks is equal to " + Sum + "<br>")
document.write("The average of these marks is equal to " + average + "<br>")


}

</script>


</head>

<body>

<form>
Enter the first mark : <input type = "text" name="mark1"> <br>
Enter the second mark : <input type = "text" name="mark2"> <br>
Enter the third mark : <input type = "text" name="mark3"> <br>
Enter the fourth mark : <input type = "text" name="mark4"> <br>

<input type = "submit" value = "submit" onclick="average(this.form)">
</form>


</body>
</html>

最佳答案

欢迎使用 Stackoverflow :) 我们很乐意帮助您更好地学习我们的工具。关于该算法的一个注意事项:将平均计算命令移到循环之外:

for(var x = 0; x < scores.length; x ++)
{
Sum = Sum + scores[x]; //or Sum += scores[x];
}

average = Sum / scores.length; //length of the array scores is in scores.length

我会使用 parseInt() 而不是 new Number() 因为 new Number()parseInt( ) 结果为您提供了实际的字面值。 (更好的性能)。

顺便说一句,不要忘记在每个变量定义之前放置 var 除非您希望全局访问它们(坏主意)。除了 scores 之外,您对所有变量都做得很好。定义应该是 var scores 尽管这不是此错误的来源。

另一点:您可以使用 isNaN() 函数检查 parseInt() 的结果。如果您的数字可以有小数点,您还可以使用 parseFloat():

如果从字符串到数字的转换失败,这两个函数的结果都是 NaN(不是数字)。

最后,我认为您定义具有指定长度的数组是个好主意。它提高了代码的可读性。但是在 Javascript 中没有必要,因为它会在运行时自动增加/减少数组的长度,因此您不必提前决定它应该有多长。它可以是好事也可以是坏事,这取决于你如何使用它。但通常您可以使用 var myarr=[]; 而不是 var myarr= new Array();。但是,当您想提示其他开发人员发生了什么时,您也可以指定数组长度:var myarr=new Array(4);

使用 Stackoverflow 的最后一点:请接受最佳答案并“投票”其他有用的答案。这样你就会得到一个分数,其他人也会得到分数。

祝你好运

关于Javascript 平均数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13476130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com