【问题标题】:Trying the add to an array and calculate the average尝试添加到数组并计算平均值
【发布时间】:2020-06-05 22:35:15
【问题描述】:

第一次海报。我创建了 2 个按钮,一个用于向数组添加数字,另一个用于计算其平均值。我可以添加一个数字,但是每当我单击按钮来计算新的平均值时,它都会给我带来巨大的数字。

HTML:

<!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>Loops</title>
            <link rel="stylesheet" href="Style.css">
            <script src="Java.js"></script>

        </head>
            <body onload="AddNumbers()">
            <header>

            <button onclick="PlusNumber()">Add Number!</button>
            <button onclick="GetAverage()">Get Average!</button>

            <p id="NumArray"></p>
            <p id="AvNum"></p>

                </header>           
    </body>
</html> 

Javascript:

var array=[23,78,64,98,64,23,44];
var sum=0;

function AddNumbers(){
    document.getElementById('NumArray').innerHTML=array;
}
function PlusNumber(){
    var AddNum=prompt("Enter a Number");
    array[array.length]=AddNum;
    document.getElementById('NumArray').innerHTML=array;
}

function GetAverage(){
for(index=0;index<array.length;index++){
    sum+=array[index];
}
    var average=sum/array.length;
    document.getElementById('AvNum').innerHTML=average;

}

【问题讨论】:

  • 将var sum = 0; 移动到GetAverage 函数的开头。就像现在一样,它永远不会被重置,并且每次运行函数时都会变大。

标签: javascript arrays average


【解决方案1】:

如果不是,您需要parseInt 新条目作为字符串应用。

在函数中计算平均值之前将 sum 初始化为 0

var array=[23,78,64,98,64,23,44];
var sum=0;

function AddNumbers(){
    document.getElementById('NumArray').innerHTML=array;
}
function PlusNumber(){
    var AddNum=prompt("Enter a Number");
    array[array.length]=parseInt(AddNum);
    document.getElementById('NumArray').innerHTML=array;
}

function GetAverage(){
sum=0;
for(index=0;index<array.length;index++){
    sum+=array[index];
}
    var average=sum/array.length;
    document.getElementById('AvNum').innerHTML=average;

}
<!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>Loops</title>
            <link rel="stylesheet" href="Style.css">
            <script src="Java.js"></script>

        </head>
            <body onload="AddNumbers()">
            <header>

            <button onclick="PlusNumber()">Add Number!</button>
            <button onclick="GetAverage()">Get Average!</button>

            <p id="NumArray"></p>
            <p id="AvNum"></p>

                </header>           
    </body>
</html> 

【讨论】:

  • 嘿,谢谢!几周前我才开始学习 Javascript,甚至不知道 parseInt 存在,哈哈。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 2013-10-25
  • 1970-01-01
  • 2014-05-14
  • 1970-01-01
相关资源
最近更新 更多