Create dynamic html table using javascript from simple array

后端 未结 3 922
暖寄归人
暖寄归人 2021-01-19 08:02

I want to write some JavaScript to create a simple HTML table from an array that just contains numbers:

var array = [1,2,3,4,5,6,7,8,9,10];

相关标签:
3条回答
  • 2021-01-19 08:17

    You could iterate the array and build a new row if the remainder with 5 is zero.

    var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        tr;
    
    array.forEach((v, i) => {
        var td = document.createElement('td');
        
        if (!(i % 5)) {
            tr = document.createElement('tr');
            document.getElementById('table0').appendChild(tr);
        }
        td.appendChild(document.createTextNode(v));
        tr.appendChild(td);
    });
    <table id="table0"></table>

    0 讨论(0)
  • 2021-01-19 08:24

    var array = [1,2,3,4,5,6,7,8,9,10];
    
    var result = "<table border=1>";
    result += "<tr>";
    for (var j = 0; j < array.length; j++) {
      result += "<td>" + array[j] + "</td>";
      if ((j + 1) % 5 == 0) {
        result += "</tr><tr>";
      }
    }
    result += "</tr>";
    result += "</table>";
    
    document.body.innerHTML = result;

    Please give it a try if that works

    0 讨论(0)
  • 2021-01-19 08:24

    How about trying something like this? Explanations in the code. Also, untested so you might need to make some adjustments.

    var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    // start the table
    var table = document.createElement("table");
    var currentRow;
    for (var i = 0; i < array.length; i++) {
      // put items in.
      var item = document.createElement("td");
      item.innerHTML = array[i];
      // if we are at the 
      if (i % 5 === 0) {
        // if it's not the first time you're creating row - first put the prev row into the table, then reassign it to a new table row.
        if (typeof currentRow !== 'undefined') table.appendChild(currentRow);
      currentRow.appendChild(item);
    
        currentRow = document.createElement("tr");
      }
    
    }
    // put the table into the body element, for example.
    document.getElementsByTagName('body')[0].appendChild(table);
    
    0 讨论(0)
提交回复
热议问题