【问题标题】:Iterate through a single column of HTML table efficiently and properly高效且正确地遍历 HTML 表格的单列
【发布时间】:2015-07-25 06:13:13
【问题描述】:

您可能想寻找 check() 函数HERE

function check(){
   var i = 0;
   var s = 0;
   for(i = 0; i < tbody.rows.length; i++){
     if(tbody.childNodes[i].childNodes[0].textContent == "unit_3"){
        s = i;
     }
   }
return s ;
}

我执行此函数是为了遍历表的特定列。我想知道,因为我对 Javascript 和迭代了解不多,是否有一种 更好、更快 方法来在列中查找特定值,因为在实际情况下,我实际上可能有很多行,所以我希望迭代速度快。我很喜欢 jQuery,但欢迎提出任何建议 :)

提前谢谢你

【问题讨论】:

  • 实际上不是针对每一列,而是针对一列
  • 第一步是在找到值时中断循环,通过执行return i; 而不是s = i;,如果未找到值,则在最后返回 false 或 -1。
  • 如何定义“高效”、“适当”、“更好”和“更快”?
  • jQuery 很容易做到这一点:x = $('tr:contains("unit_3")').index();

标签: javascript


【解决方案1】:

ECMAScript 6 引入了findIndex(可以是polyfilled):

function check() {
    return [].findIndex.call(tbody.rows, function(row) {
        return row.cells[0].textContent == "unit_3";
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2022-01-23
    • 2018-10-20
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    相关资源
    最近更新 更多