我该如何正确使用此功能?

时间:2016-11-21 19:02:57

标签: javascript

我的教授派了一个图书馆,我们必须使用这些功能开展一些活动。我正在尝试使用下面的函数打印一个向量和矩阵,但我做错了。

我这样做:

<table id="myTable"></table>

printVtable(VetorMedia,myTable);
printMtable(Matriz, myTable);

function printVtable(v,table)
{
    for(var i=0;i<v.length;i++)
    {
        document.getElementById(table).rows[i].cells[0].innerHTML = v[i];
    }
}
function printMtable(m,table)
{
    for ( var i = 0; i < m.length; i++ ) 
    {
        for ( var k = 0; k < m[i].length; k++ ) 
        {
            document.getElementById(table).rows[i+1].cells[k+1].innerHTML = m[i][k];        
        }

    }   
}

2 个答案:

答案 0 :(得分:0)

尝试这样的事情......

我在同一个表上运行了两个矩阵,你应该使用单独的表。另外,我修改了高度和宽度以匹配数组,你可以根据需要设计你的函数来构建表。

请参阅:https://jsfiddle.net/rfornal/9wzs5zpx/

HTML

<table id="myTable">
  <tbody>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

的JavaScript

<script>
var vectorMedia = [0,1,2,3,4];
var matrix = [[0,1,2],[3,4,5],[6,7,8]]

printVtable(vectorMedia,"myTable");
printMtable(matrix, "myTable");

function printVtable(v,table)
{
    for(var i=0;i<v.length;i++)
    {
        document.getElementById(table).rows[i].cells[0].innerHTML = v[i];
    }
}
function printMtable(m,table)
{
    for ( var i = 0; i < m.length; i++ ) 
    {
        for ( var k = 0; k < m[i].length; k++ ) 
        {
            document.getElementById(table).rows[i+1].cells[k+1].innerHTML = m[i][k];        
        }

    }   
}
</script>

答案 1 :(得分:0)

同样的答案,只是不需要预先设计表格。

<!DOCTYPE html>
<html>

  <body>
    <table id="myTable" border="1px"></table>
    <script>
      var vectorMedia = [0,1,2,3,4];
      var matrix = [[0,1,2],[3,4,5],[6,7,8]]

      function printVtable(v,table)
      {
        var t = document.getElementById(table);
        var row = t.insertRow(0);
        for(var i=0;i<v.length;i++)
        {
          var cell = row.insertCell(0);
          cell.innerHTML = v[i];
        }
      }

      printVtable(vectorMedia, "myTable");
    </script>
  </body>
</html>