这个案例怎么用遍历数组解决

这个案例怎么用遍历数组解决,我这也太啰嗦了,谢谢:

*{
            margin: 0;
            height: 0;
        }
        em{
            font-size: 8px;
        }
        .container{
            position: relative;
            width: 900px;
            height: 600px;
            background-color:aqua;
            margin: 50px auto;
        }
        .box{
            width: 800px;
            height: 500px;
            position: absolute;
            margin: 10px 30px;
        }
        #title{
            color:red;
            font-size:28px;
            text-align:center;
        }
        
        td,th{
            height: 50px;
            line-height: 50px;
            font-size: 20px;
            text-align:center;
            /* border: 1px solid rgb(3, 65, 3); */
            box-sizing: border-box;
        }
        input{
            width: 80px;
            height: 20px;
            text-align: center;
            font-size: 20px;
            color:rgb(164, 5, 5) ;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-shadow: inset 0px 0px 5px;
            background-color: rgb(98, 190, 106);
        }
        #average,#total{
            width: 80px;
            height: 23px;
            text-align: center;
            font-size: 22px;
            color:rgb(116, 25, 26) ;
            border: 1px solid #ccc;
            border-radius: 10px;
            box-shadow: inset 0px 0px 5px;
            background-color: rgb(17, 159, 230);
        }
        

 <div class="container">
        <em> ** 请在下表中输入各科成绩 ** </em>
        
        <table class="box">
            <tr>
                <th id="title" colspan="7";>成 绩 表</th>
            </tr>
            <tr>
                <th> </th>
                <th>Jeck</th>
                <th>Tom</th>
                <th>Alic</th>
                <th>Smith</th>
                <th>Bosh</th>
                <th>Lili</th>
            </tr>
            
            <tr>
                <th>语文</th>
                <td><input type="text" id="yj" oninput="Jeck()"></td>
                <td><input type="text" id="yt" oninput="Tom()"></td>
                <td><input type="text" id="ya" oninput="Alic()"></td>
                <td><input type="text" id="ys" oninput="Smith()"></td>
                <td><input type="text" id="yb" oninput="Bosh()"></td>
                <td><input type="text" id="yl" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>数学</th>
                <td><input type="text" id="sj" oninput="Jeck()"></td>
                <td><input type="text" id="st" oninput="Tom()"></td>
                <td><input type="text" id="sa" oninput="Alic()"></td>
                <td><input type="text" id="ss" oninput="Smith()"></td>
                <td><input type="text" id="sbb" oninput="Bosh()"></td>
                <td><input type="text" id="sl" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>英语</th>
                <td><input type="text" id="ej" oninput="Jeck()"></td>
                <td><input type="text" id="et" oninput="Tom()"></td>
                <td><input type="text" id="ea" oninput="Alic()"></td>
                <td><input type="text" id="es" oninput="Smith()"></td>
                <td><input type="text" id="eb" oninput="Bosh()"></td>
                <td><input type="text" id="el" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>体育</th>
                <td><input type="text" id="tj" oninput="Jeck()"></td>
                <td><input type="text" id="tt" oninput="Tom()"></td>
                <td><input type="text" id="ta" oninput="Alic()"></td>
                <td><input type="text" id="ts" oninput="Smith()"></td>
                <td><input type="text" id="tb" oninput="Bosh()"></td>
                <td><input type="text" id="tl" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>音乐</th>
                <td><input type="text" id="mj" oninput="Jeck()"></td>
                <td><input type="text" id="mt" oninput="Tom()"></td>
                <td><input type="text" id="ma" oninput="Alic()"></td>
                <td><input type="text" id="ms" oninput="Smith()"></td>
                <td><input type="text" id="mb" oninput="Bosh()"></td>
                <td><input type="text" id="ml" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>美术</th>
                <td><input type="text" id="aj" oninput="Jeck()"></td>
                <td><input type="text" id="at" oninput="Tom()"></td>
                <td><input type="text" id="aa" oninput="Alic()"></td>
                <td><input type="text" id="as" oninput="Smith()"></td>
                <td><input type="text" id="abb" oninput="Bosh()"></td>
                <td><input type="text" id="al" oninput="Lili()"></td>
            </tr>
            <tr id="average">
                <th >平均分</th>
                <td><input type="text" id="vj" oninput="Jeck()"></td>
                <td><input type="text" id="vt" oninput="Tom()"></td>
                <td><input type="text" id="va" oninput="Alic()"></td>
                <td><input type="text" id="vs" oninput="Smith()"></td>
                <td><input type="text" id="vb" oninput="Bosh()"></td>
                <td><input type="text" id="vl" oninput="Lili()"></td>
            </tr>
            <tr id="total">
                <th >总成绩</th>
                <td><input type="text" id="ttj" oninput="Jeck()"></td>
                <td><input type="text" id="ttt" oninput="Tom()"></td>
                <td><input type="text" id="tta" oninput="Alic()"></td>
                <td><input type="text" id="tts" oninput="Smith()"></td>
                <td><input type="text" id="ttb" oninput="Bosh()"></td>
                <td><input type="text" id="ttl" oninput="Lili()"></td>
            </tr>
        </table>
        
    </div>
    
</body>
function Jeck() {
    let ja = document.getElementById("yj").value;
    let jb = document.getElementById("sj").value;
    let jc = document.getElementById("ej").value;
    let jd = document.getElementById("tj").value;
    let je = document.getElementById("mj").value;
    let jf = document.getElementById("aj").value;
    let jx = document.getElementById("ttj").value = (Number(ja) +Number(jb)+Number(jc)
     +Number(jd)+Number(je) +Number(jf));
    document.getElementById("vj").value = Math.round(jx/6);
}
function Tom() {
    let ta = document.getElementById("yt").value;
    let tb = document.getElementById("st").value;
    let tc = document.getElementById("et").value;
    let td = document.getElementById("tt").value;
    let te = document.getElementById("mt").value;
    let tf = document.getElementById("at").value;
    let tx = document.getElementById("ttt").value = (Number(ta) +Number(tb)+Number(tc)
     +Number(td)+Number(te) +Number(tf));
    document.getElementById("vt").value = Math.round(tx/6);
}
function Alic(){
    let aa = document.getElementById("ya").value;
    let ab = document.getElementById("sa").value;
    let ac = document.getElementById("ea").value;
    let ad = document.getElementById("ta").value;
    let ae = document.getElementById("ma").value;
    let af = document.getElementById("aa").value;
    let ax = document.getElementById("tta").value = (Number(aa) +Number(ab)+Number(ac)
     +Number(ad)+Number(ae) +Number(af));
    document.getElementById("va").value = Math.round(ax/6);
}
function Smith(){
    let sa = document.getElementById("ys").value;
    let sb = document.getElementById("ss").value;
    let sc = document.getElementById("es").value;
    let sd = document.getElementById("ts").value;
    let se = document.getElementById("ms").value;
    let sf = document.getElementById("as").value;
    let sx = document.getElementById("tts").value = (Number(sa) +Number(sb)+Number(sc)
     +Number(sd)+Number(se) +Number(sf));
    document.getElementById("vs").value = Math.round(sx/6);
}
function Bosh(){
    let ba = document.getElementById("yb").value;
    let bb = document.getElementById("sbb").value;
    let bc = document.getElementById("eb").value;
    let bd = document.getElementById("tb").value;
    let be = document.getElementById("mb").value;
    let bf = document.getElementById("abb").value;
    let bx = document.getElementById("ttb").value = (Number(ba) +Number(bb)+Number(bc)
     +Number(bd)+Number(be) +Number(bf));
    document.getElementById("vb").value = Math.round(bx/6);
}
function Lili(){
    let la = document.getElementById("yl").value;
    let lb = document.getElementById("sl").value;
    let lc = document.getElementById("el").value;
    let ld = document.getElementById("tl").value;
    let le = document.getElementById("ml").value;
    let lf = document.getElementById("al").value;
    let lx = document.getElementById("ttl").value = (Number(la) +Number(lb)+Number(lc)
     +Number(ld)+Number(le) +Number(lf));
    document.getElementById("vl").value = Math.round(lx/6);
}

img

用一个json 格式数据渲染 就行。
[{name:"Jack",chinese:null,math:null, avg,totalScore}] //所有科目 然后 就是 平均分 总成绩

示例下,另外html也可以简化下,用class的形式,在js里监听事件

function getScore(ids = [], setId) {
  let jx = 0
  
  ids.forEach(id => {
    jx += Number(document.getElementById(id).value);
  })
  
   document.getElementById(setId).value = Math.round(jx/6);
}

function Jeck() {
   getScore(['yj', 'sj'], 'ttj')
}

原生js就这样吧,我就只写了第一个,你可以仿照改下后边的,根据name循环获取值,只用一个方法就行了,传个name进来

<!DOCTYPE html>
<html>
 
    <head>
        <style> </style>
 
        <meta charset="utf-8">
        <title>显示隐藏</title>
    </head>
    <div class="container">
        <em> ** 请在下表中输入各科成绩 ** </em>
        
        <table class="box">
            <tr>
                <th id="title" colspan="7";>成 绩 表</th>
            </tr>
            <tr>
                <th> </th>
                <th>Jeck</th>
                <th>Tom</th>
                <th>Alic</th>
                <th>Smith</th>
                <th>Bosh</th>
                <th>Lili</th>
            </tr>
            
            <tr>
                <th>语文</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" name="Tom" oninput="cal('Tom')"></td>
                <td><input type="text" id="ya" oninput="Alic()"></td>
                <td><input type="text" id="ys" oninput="Smith()"></td>
                <td><input type="text" id="yb" oninput="Bosh()"></td>
                <td><input type="text" id="yl" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>数学</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="st" oninput="cal('Tom')"></td>
                <td><input type="text" id="sa" oninput="Alic()"></td>
                <td><input type="text" id="ss" oninput="Smith()"></td>
                <td><input type="text" id="sbb" oninput="Bosh()"></td>
                <td><input type="text" id="sl" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>英语</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="et" oninput="Tom()"></td>
                <td><input type="text" id="ea" oninput="Alic()"></td>
                <td><input type="text" id="es" oninput="Smith()"></td>
                <td><input type="text" id="eb" oninput="Bosh()"></td>
                <td><input type="text" id="el" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>体育</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="tt" oninput="Tom()"></td>
                <td><input type="text" id="ta" oninput="Alic()"></td>
                <td><input type="text" id="ts" oninput="Smith()"></td>
                <td><input type="text" id="tb" oninput="Bosh()"></td>
                <td><input type="text" id="tl" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>音乐</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="mt" oninput="Tom()"></td>
                <td><input type="text" id="ma" oninput="Alic()"></td>
                <td><input type="text" id="ms" oninput="Smith()"></td>
                <td><input type="text" id="mb" oninput="Bosh()"></td>
                <td><input type="text" id="ml" oninput="Lili()"></td>
            </tr>
            <tr>
                <th>美术</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="at" oninput="Tom()"></td>
                <td><input type="text" id="aa" oninput="Alic()"></td>
                <td><input type="text" id="as" oninput="Smith()"></td>
                <td><input type="text" id="abb" oninput="Bosh()"></td>
                <td><input type="text" id="al" oninput="Lili()"></td>
            </tr>
            <tr id="average">
                <th >平均分</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="vt" oninput="Tom()"></td>
                <td><input type="text" id="va" oninput="Alic()"></td>
                <td><input type="text" id="vs" oninput="Smith()"></td>
                <td><input type="text" id="vb" oninput="Bosh()"></td>
                <td><input type="text" id="vl" oninput="Lili()"></td>
            </tr>
            <tr id="total">
                <th >总成绩</th>
                <td><input type="text" name="Jeck" oninput="cal('Jeck')"></td>
                <td><input type="text" id="ttt" oninput="Tom()"></td>
                <td><input type="text" id="tta" oninput="Alic()"></td>
                <td><input type="text" id="tts" oninput="Smith()"></td>
                <td><input type="text" id="ttb" oninput="Bosh()"></td>
                <td><input type="text" id="ttl" oninput="Lili()"></td>
            </tr>
        </table>
        
    </div>

    
             <script>
      
   function cal(name) {
  
    let data = document.getElementsByName(name);
    let sum=0;
    for(var i=0;i<data.length-2;i++){
      sum=sum+Number(data[i].value);
    }
    data[data.length-2].value=sum;
    data[data.length-1].value=Math.round(sum/6);
    
    
}
 
 


 
 
 
     </script>
    </body>
    
</html>