有没有一种更快的方法来搜索表中的值?

火星

我有一个几乎有1000行的html表,需要具有搜索功能。我想使此搜索自动进行,因此随着用户开始输入字符串,它开始搜索查询。这并不难,但是搜索的性质会导致在将第一个或两个字符输入到我的搜索栏中后,该页面放慢速度几秒钟。

这是搜索代码:

const cols = search_drop.value;
const itemsArr = document.querySelectorAll('tbody tr');

for (const ele of itemsArr) {
    const lower_case_search_value = this.value.toLowerCase();
const lower_case_table_value = ele.querySelector(`td[headers="${cols}"]`).innerText.toLowerCase();

    if (!lower_case_table_value.includes(lower_case_search_value)) {
        ele.style.display = 'none';
    } else {
        ele.style.display = 'table-row';
    }
}

我已经尝试在后台搜索所有内容,而不必每次都重新渲染元素,但是速度仍然存在。有什么提示可以加快速度吗?

阿尔特姆

我的猜测是,您既可以将td文本存储为数据属性,也可以利用属性搜索的优势(请参阅https://www.w3schools.com/cssref/sel_attr_contain.asp),也可以通过将表格(矩阵)的索引预先计算它们与给定的文本相关联,那么您所需要做的就是遍历一个集合,这是一个线性时间(从某种意义上说,您不与DOM交互是更好的选择)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种更快的方法来在atom中执行拼写检查?

有没有一种快速的方法来替换 R 中的列值?

有没有一种更快的方法来对多列中的值进行计数,而排除同一行中的重复值呢?

有没有一种更快的方法来检查文件是否正在使用?

有没有一种更快的方法来进行熊猫循环?

有没有一种更快的方法来清除文件中的控制字符?

有没有一种比“ for”更快的方法来比较列中的值以选择我想要的值?

有没有一种有效的方法来搜索非常大的文件中的字典?

有没有一种有效的方法来搜索队列中的键并覆盖其值?

有没有一种简单的方法来增加 Map 对象值的值?

有没有一种有效的方法来从字典中检索值

有没有一种方法来检查jOOQ查询绑定值?

有没有一种快速的方法来查询带有pytables的巨大hdf5表中的不同列值?

有没有一种快速的方法来清除工作表中的大量数据?

有没有一种通用的方法来更新Laravel中的两个联接表?

有没有一种快速的方法来获取数组中的整个布尔值?

有没有一种自动的方法来记忆Haskell中的全局多态值?

有没有一种标准的方法来获取C ++中的第n个“ nextafter”浮点值

有没有一种简单的方法来获取Java中的多个随机值?

postgres中的小数列。有没有一种方法来存储值而不尾随零

有没有一种方法来获取对象中属性值的数组?

有没有一种更快的方法来从无序集中删除和存储元素

有没有一种更快/更紧凑的方法来从正方形获取索引?(Matlab)

有没有一种更快的方法来运行基于pandas apply函数的代码?

有没有一种更快的方法来按位连接两个整数?

有没有一种好的方法来冻结Javascript中的对象数组?

在Sklearn中,有没有一种干净的方法来转换字典列表?

有没有一种简单的方法来计算库中记录的函数?

有没有一种简单的方法来显示JavaFX中的提示文本?