Javascript 计算输入到数组中的项

Javascript 计算输入到数组中的项,javascript,arrays,Javascript,Arrays,我试图找到一种方法来计算输入到数组中的数据 JavaScript function getInput() { var even = []; var odd = []; var num = prompt("Enter your number"); if (num % 2 === 0) { alert("Data entered into array."); even.push(num); } else if (num

我试图找到一种方法来计算输入到数组中的数据

JavaScript

function getInput() 
{
    var even = [];
    var odd = [];
    var num = prompt("Enter your number");
    if (num % 2 === 0) {
        alert("Data entered into array.");
        even.push(num);
    }
    else if (num % 2 == 1) {
        alert("Data entered into array.");
        odd.push(num)
    }
    else {
        alert("Invalid input.");
    }
}
function finished() //This is where the calculations are done. It's accessed by a button in my HTML.
{
    var sum = document.getElementById("leftSumOutput").innerHTML = even[];
}
这是页面的结构。我正在尝试使用表来存储输出

HTML

<!DOCTYPE html>
<html>
    <head>
    <title>Sample Title</title>
    <script type="text/javascript" src="assignmentOne.js"></script>
    <link rel="stylesheet" type="text/css" href="assignmentOne.css">
    <link rel="icon" href="favicon.png" type="image/x-icon" />
</head>
<body>
    <div align=center>
        <h1>Welcome to Assignment One!</h1>
        <label for="input">Click for each time you would like to make an input ==></label>
        <button id="input" onclick="getInput()"><b>Click to input data</b></button><br><br>
        <button id="done" onclick="finished()">Click here when done</button>
        <!--<h1 id="even">Even</h1>
        <h1 id="odd">Odd</h1>
        <p id="left"></p>
        <p id="right"></p>
        <p id="leftResult"></p>
        <p id="rightResult"></p>-->
        <table>
            <tr>
                <th></th>
                <th>Even</th>
                <th>Odd</th>
            </tr>
            <tr>
                <td></td>
                <td id="even"></td>
                <td id="odd"></td>
            </tr>
            <tr colspan="2">
                <td>Sum</td>
                <td id="leftSumOutput"></td>
                <td id="rightSumOutput"></td>
            </tr>
            <tr colspan="2">
                <td>Average</td>
                <td id="leftAvgOutput"></td>
                <td id="rightAvgOutput"></td>
            </tr>
        </table>
        </div>
    </body>
</html>

示例标题
欢迎来到作业一!
每次要输入时单击==>
单击以输入数据

完成后单击此处 即使 古怪的 总和 平均值
我想计算数组中的项目。我是新手,所以我提前道歉


编辑:我忘了提到我也不知道如何计算字段的平均值。如果有任何帮助,我们将不胜感激。感谢大家迄今为止的帮助

如果需要计算数组中每个元素的和,则需要编写
map
函数。访问链接:

如果您只需要知道元素的数量,请调用:
alert(偶数.length)

注意:@vittore的结构激发了这一变化

(功能(d){
d、 getElementById('input')。addEventListener('click',getInput');
d、 getElementById('done')。addEventListener('click',finished');
var elSumOdd=d.getElementById('oddSumOutput');
var elSumEven=d.getElementById('evenSumOutput');
var elAvgOdd=d.getElementById('oddAvgOutput');
var elAvgEven=d.getElementById('evenAvgOutput');
var偶数=[];
var奇数=[];
函数getInput(){
var num=提示(“输入您的号码”)| 0;
如果(数值%2==0){
偶。推(num);
}else if(num%2==1){
奇数推送(num);
}否则{
警报(“无效输入”);
}
完成的();
}
函数finished(){//这是完成计算的地方。可以通过我的HTML中的按钮访问它。
elSumOdd.innerHTML=odd.reduce(函数(a,b){
返回a+b;
}, 0);
elSumEven.innerHTML=偶数.reduce(函数(a,b){
返回a+b;
}, 0);
elAvgOdd.innerHTML=elSumOdd.innerHTML/odd.length | 0;
elAvgEven.innerHTML=elSumEven.innerHTML/偶数.length | | 0;
}
})(文件)

欢迎来到作业一!
每次要输入时单击==>
单击以输入数据


完成后单击此处 即使 古怪的 总和 平均值
我认为您对变量的作用域有点困惑。 下面是一个如何做到这一点的示例:

(函数(w,d){
var赔率=[],evens=[],按钮,ElsumLobbs,elSumEvens,elAvgOdds,elAvgEvens,s
w、 addEventListener('load',function(){
button=d.querySelector('button')
ElsumLobbits=d.querySelector(“#总和赔率”)
elSumEvens=d.querySelector(“#和evens”)
elAvgOdds=d.querySelector(“#平均赔率”)
elAvgEvens=d.querySelector(“#avg evens”)
按钮。addEventListener('单击',计算)
})
函数计算(){
var i=提示(“输入数字”)| 0;
如果((i | 0)%2){
概率推(一)
s=赔率.reduce(函数(a,n){返回a+n},0)
elsumLobbs.innerText=s
elAvgOdds.innerText=s/lobbs.length
}否则{
平推(一)
s=evens.reduce(函数(a,n){返回a+n},0)
elSumEvens.innerText=s
elAvgEvens.innerText=s/evens.length
}       
}
})(窗口、文档)
计算
苏马夫
可能性
埃文斯

你在哪里调用
finished()
from?finished()来自我的HTML,是一个按钮。它在我在HTML中创建的表中输出。这个按钮应该从数组中提取数字,并分别输出偶数和奇数的总和和平均值。你能发布完整的代码吗?你的意思是有偶数和奇数数组,你想在用户多次键入数字后计算它们吗?或者说每次?有一个偶数数组和一个奇数数组。主函数要求用户输入,然后将其存储在各自的数组中。finished()函数将获取该数据,执行计算,并将其输出到表中的一个单元格中。您对这个奇怪的:function()部分做了什么?我以前没见过。喜欢你的结构:)