ほぼ5000行の大きなテーブルがあります。次の jquery スニペットを使用して、このテーブルで特定のテキストを検索しています。
function searchTable(inputVal) {
var table = $('.table');
table.find('tr').each(function(index, row) {
var allCells = $(row).find('td');
if(allCells.length > 0) {
var found = false;
allCells.each(function(index, td) {
var regExp = new RegExp(inputVal, 'i');
if(regExp.test($(td).text())) {
found = true;
return false;
}
});
if(found == true) {
$(row).show();
} else {
$(row).hide();
}
}
});
}
このスクリプトは、各行の各セルをループするため、実行に時間がかかります。1 行に 6 つのセルがあるテーブルを考慮すると、反復の合計回数はほぼ6*5000=30000です!
このスニペットを最適化するための提案はありますか?