使用onKeyUp优化搜索性能,值得吗?

时间:2013-06-14 01:26:28

标签: javascript html

var searchText = document.getElementById("textSearch").value.toLowerCase();
if(searchText.length > 0) {
    for (var i = 1; i < 114; i++) {
        if(names[i].toLowerCase().indexOf(searchText) != -1) {
        someDiv[i].style.display = "block";
        } else {
        someDiv[i].style.display = "none";
        }
    }
}

我将总共搜索3次。它们的大小将分别为114,195和87.因此,我认为循环运行的数量相当不错。我的问题是,我应该编写更多代码以使其“保存”显示的div和隐藏的div吗?由于我的函数是onKeyUp,我觉得如果一个人写了5个字符运行相同的循环600次是没有意义的,并且会在很短的时间内使用太多的资源?

所以问题是,是否值得去做像

这样的事情
searchArray = [];
if true {
searchArray.push( i );
}

这样我保留了隐藏的那些记录,并且在下一个字符输入上让我们说'if(searchText.length === 2)'让它通过我们创建的数组中只有多少个字符的循环早?所以说有10个结果它只经过一次循环10次而不是114次。它值得吗?可能必须在数组中执行一个数组,以便记录每个附加字符的结果。我看到一个jsperf浏览器每秒运行数百万次索引,但我仍感到不安。你们觉得怎么样?

0 个答案:

没有答案