优化的纯JavaScript意味着迭代静态HTML表,根据其行/列创建对象数组

时间:2016-07-31 07:48:08

标签: javascript html arrays dom

最近我被要求编写一些简单的JS,它将迭代静态html表,并允许我将其中的数据分别排序到列。我目前的想法是循环遍历行,获取单元格数据。但我觉得必须有一些我忽略的东西。我觉得我可以进一步优化我的目标。我对循环中的循环并不是很重要,而且问我这个问题的人也相信它也是可能的。但我有点难过,以为我可以进一步减少它。

到目前为止我所拥有的是什么。

let table = document.getElementById( "table" );
let arr = [];
for(let i=1; i < table.rows.length; i++) {
    let obj = {};
    for(let j=0; j < table.rows[j].cells.length; j++) {
     obj[j] = table.rows[i].cells[j].innerText;
  }
  arr.push(obj);
}
console.log(arr);

以下是HTML供参考:

<table id="table">
  <tr>
    <th>ID</th>
    <th>Name</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>555</td>
    <td>Mike</td>
    <td>25</td>
  </tr>
  <tr>
    <td>963</td>
    <td>Christy</td>
    <td>23</td>
  </tr>
  <tr>
    <td>42</td>
    <td>Bobby</td>
    <td>22</td>
  </tr>
</table>

1 个答案:

答案 0 :(得分:0)

您正在使用冒泡排序,使用快速排序使其更快