Javascript 使用特定字符串对数据表行进行计数

Javascript 使用特定字符串对数据表行进行计数,javascript,jquery,datatables,Javascript,Jquery,Datatables,如何统计具有特定文本的数据表行? 我尝试使用filter(),但不起作用 $("#buttonAlert").on("click", function (event) { var count = $("#example1").DataTable.rows .column(4) .data() .filter(function (value, index) { return value = "OK" ? true : false; }).lengt

如何统计具有特定文本的数据表行? 我尝试使用filter(),但不起作用

$("#buttonAlert").on("click", function (event) {

  var count = $("#example1").DataTable.rows
    .column(4)
    .data()
    .filter(function (value, index) {
      return value = "OK" ? true : false;
    }).length;

  alert('Total OK is: ' + count);

});
错误如下所示:

ssar:391 Uncaught TypeError: Cannot read property 'column' of undefined
    at HTMLButtonElement.<anonymous> (ssar:391)
    at HTMLButtonElement.dispatch (jQuery-2.1.4.min.js:3)
    at HTMLButtonElement.r.handle (jQuery-2.1.4.min.js:3)
ssar:391未捕获类型错误:无法读取未定义的属性“column”
在HTMLButtoneElement。(ssar:391)
在HTMLButtonElement.dispatch(jQuery-2.1.4.min.js:3)
位于HTMLButtonElement.r.handle(jQuery-2.1.4.min.js:3)

您需要使用和
列()
eq(4)
方法
dataTable
类似

var count = 0;
$("#example1").DataTable.columns().eq(4).each( function ( index ) {
    var column = $("#example1").DataTable.column( index );
    var value = column.data();
    if(value === 'OK'){
      count++;
    }
});

console.log('length'+count);

试试下面的一个,我正在根据列值相等性将行推送到
matchedRows
数组中

  var matchedRows = [];
  var table = $('#table_id').DataTable();
  var data = table.data().toArray();
  data.forEach(function(row) {
    row.forEach(function (column) {
      if (column == "Row 1 Data 1") {
        matchedRows.push(row);
      }
    })
  });
  console.log(matchedRows.length);

嗨,安基特先生,我试过了,但还是得到了错误:未捕获类型错误:无法读取Null的属性'each',我已经在各自的代码中签入了。嗨,谢谢,但我不明白,我想这可能会更多simple@BayuSriHernogo对不起,我没听懂。这个解决方案对你有用吗?嗨,谢谢你的工作,但我认为这仍然不是标准的Datatable函数,但谢谢你我可以使用它method@BayuSriHernogo是的,没错:-)。但是很久以前我就使用了
Datatables
。我必须检查一次文档,如果我发现任何最小化的代码,我会更新我的答案