【问题标题】:JavaScript how to insert array into a tableJavaScript如何将数组插入表中
【发布时间】:2014-05-10 08:47:24
【问题描述】:

我想知道如何将此数组插入到表中。这是我的代码;我希望它显示如下:

学生姓名 学生标记 学生成绩

如果有人知道怎么做,将不胜感激。

var gradeAwarded;
var max;
var A =0;
var B =0;
var C=0;
var F=0;
var Sum = 0
var average
var repeat, studentArr = [], markArr = [];

while (repeat !== 'n'){
    studentArr.push(prompt("Enter Student Name: ", "Ross"));
    markArr.push(parseInt (prompt("Enter Student mark: ", 50)));

    if (markArr <0 || markArr >100){
        alert("Grate out of bounds");
    }else if (markArr >= 83){
        gradeAwarded = "A";
        A = A + 1;
    }else if (markArr >= 70){
        gradeAwarded = "B";
        B = B+1;
    }else if (markArr >= 50){
        gradeAwarded = "C";
        C = C+1;    
    }else if (markArr >= 0){
        gradeAwarded = "F";
        F = F+1;                                                        
    }
     repeat = prompt ("Do you want to enter another student: y/n");

}  

Array.prototype.max = function() {
  return Math.max.apply(Math, markArr);
};

Array.prototype.min = function() {
  return Math.min.apply(Math, markArr);
};
for(var x = 0; x < markArr.length; x ++)
{
  Sum = Sum + markArr[x]; 
}

average = Sum / markArr.length; 
var min = markArr.min();
var max = markArr.max();

for(var i = 0; i < markArr.length; i++)
document.write(<tr> markArr[i] </tr>);
    document.write("The Highest mark was : "+max+"<br>");
    document.write("The Lowest mark was : "+min +"<br>");
    document.write("The Average mark was : "+average+"<br>");
    document.write("number A grades : "+A+"<br>");
    document.write("number B grades : "+B+"<br>");
    document.write("number C grades : "+C+"<br>");
    document.write("number F grades : "+F+"<br>");

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    希望对你有帮助

                var markAwarded;
                var gradeAwarded;
                var max;
                var A = 0;
                var B = 0;
                var C = 0;
                var F = 0;
                var Sum = 0
                var average
                var repeat, studentArr = [], markArr = [], gradeArr = [];
                while (repeat !== 'n') {
                    studentArr.push(prompt("Enter Student Name: ", "Ross"));
                    markAwarded = parseInt(prompt("Enter Student mark: ", 50));
                    markArr.push(markAwarded);
    
                    if (markAwarded < 0 || markAwarded > 100) {
                        alert("Grate out of bounds");
                    } else if (markAwarded >= 83) {
                        gradeAwarded = "A";
                        A = A + 1;
                    } else if (markAwarded >= 70) {
                        gradeAwarded = "B";
                        B = B + 1;
                    } else if (markAwarded >= 50) {
                        gradeAwarded = "C";
                        C = C + 1;
                    } else if (markAwarded >= 0) {
                        gradeAwarded = "F";
                        F = F + 1;
                    }
                    gradeArr.push(gradeAwarded);
                    repeat = prompt("Do you want to enter another student: y/n");
    
                }
    
                Array.prototype.max = function () {
                    return Math.max.apply(Math, markArr);
                };
    
                Array.prototype.min = function () {
                    return Math.min.apply(Math, markArr);
                };
                for (var x = 0; x < markArr.length; x++) {
                    Sum = Sum + markArr[x];
                }
    
                average = Sum / markArr.length;
                var min = markArr.min();
                var max = markArr.max();
    
                document.write("<table style='border:1px solid black;'><tr><th>Student Name</th><th>Student Mark</th><th>Student Grade </th></tr>");
                for (var i = 0; i < markArr.length; i++) {
                    document.write("<tr><td>" + studentArr[i] + "</td><td>" + markArr[i] + "</td><td>" + gradeArr[i] + "</td> </tr>");
                }
                document.write("</table>");
                document.write("The Highest mark was : " + max + "<br>");
                document.write("The Lowest mark was : " + min + "<br>");
                document.write("The Average mark was : " + average + "<br>");
                document.write("number A grades : " + A + "<br>");
                document.write("number B grades : " + B + "<br>");
                document.write("number C grades : " + C + "<br>");
                document.write("number F grades : " + F + "<br>");
    

    【讨论】:

      【解决方案2】:

      试试这个代码

        <script>
        var gradeAwarded;
        var max;
        var A =0;
        var B =0;
        var C=0;
        var F=0;
        var Sum = 0
        var average
        var repeat, studentArr = [], markArr = [];
      
        while (repeat !== 'n'){
            studentArr.push(prompt("Enter Student Name: ", "Ross"));
            markArr.push(parseInt (prompt("Enter Student mark: ", 50)));
      
            if (markArr <0 || markArr >100){
                alert("Grate out of bounds");
            }else if (markArr >= 83){
                gradeAwarded = "A";
                A = A + 1;
            }else if (markArr >= 70){
                gradeAwarded = "B";
                B = B+1;
            }else if (markArr >= 50){
                gradeAwarded = "C";
                C = C+1;    
            }else if (markArr >= 0){
                gradeAwarded = "F";
                F = F+1;                                                        
            }
             repeat = prompt ("Do you want to enter another student: y/n");
      
        }  
      
        Array.prototype.max = function() {
          return Math.max.apply(Math, markArr);
        };
      
        Array.prototype.min = function() {
          return Math.min.apply(Math, markArr);
        };
        for(var x = 0; x < markArr.length; x ++)
        {
          Sum = Sum + markArr[x]; 
        }
      
        average = Sum / markArr.length; 
        var min = markArr.min();
        var max = markArr.max();
        document.write("<table>");
        for(var i = 0; i < markArr.length; i++){
          document.write("<tr>");
          document.write("<td>"+  studentArr[i] + '</td>');
          document.write("<td>"+  markArr[i] + '</td>');
          if (markArr[i] >= 83){
                gradeAwarded = "A";
            }else if (markArr[i] >= 70){
                gradeAwarded = "B";
            }else if (markArr[i] >= 50){
                gradeAwarded = "C";
            }else if (markArr[i] >= 0){
                gradeAwarded = "F";
            }
            document.write("<td>"+  gradeAwarded + '</td>');
          }
            document.write("</table>");
            document.write("The Highest mark was : "+max+"<br>");
            document.write("The Lowest mark was : "+min +"<br>");
            document.write("The Average mark was : "+average+"<br>");
            document.write("number A grades : "+A+"<br>");
            document.write("number B grades : "+B+"<br>");
            document.write("number C grades : "+C+"<br>");
            document.write("number F grades : "+F+"<br>");
      
        </script>
      

      【讨论】:

        【解决方案3】:

        试试看这个:Print out Javascript array in table

        有很多方法可以从数组创建表。

        【讨论】:

          【解决方案4】:

          如果你想纯粹从 javascript 创建表格,有这样的函数:

          var body = document.getElementsByTagName('body')[0];
          var table = document.createElement('table');
          var tr = document.createElement('tr');
          var td = document.createElement('td');
          td.nodeValue = someDataToDisplayInTheCell;
          
          tr.appendChild(td);
          table.appendChild(tr);
          body.appendChild(body);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-08-13
            • 2014-01-04
            • 2020-05-28
            • 2021-05-14
            • 2018-08-13
            • 2011-04-24
            • 1970-01-01
            相关资源
            最近更新 更多