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

Javascript 使用onKeyUp优化搜索性能,值得吗?,javascript,html,Javascript,Html,这样我就保留了一个隐藏字符的记录,在下一个字符输入时,让我们说‘if(searchText.length==2)’让它只遍历我们之前创建的数组中有多少个字符的循环?因此,如果说有10个结果,它只会通过一个循环10次,而不是114次。值得吗?可能必须在一个数组中创建一个数组,以便它记录每个附加字符的结果。我看到了一个jsperf,浏览器以每秒数百万次的速度运行索引,但我仍然感到不安。你们怎么看?--链接到indexOf Test你应该做的是设置一个超时,在最后一次按键事件后100毫秒执行搜索,这样

这样我就保留了一个隐藏字符的记录,在下一个字符输入时,让我们说‘if(searchText.length==2)’让它只遍历我们之前创建的数组中有多少个字符的循环?因此,如果说有10个结果,它只会通过一个循环10次,而不是114次。值得吗?可能必须在一个数组中创建一个数组,以便它记录每个附加字符的结果。我看到了一个jsperf,浏览器以每秒数百万次的速度运行索引,但我仍然感到不安。你们怎么看?

--链接到indexOf Test你应该做的是设置一个超时,在最后一次按键事件后100毫秒执行搜索,这样只有在用户完成键入后,你才能真正搜索。嗯,我没想过要做100毫秒。我想大概300左右,但我不想让人在打字时觉得有任何延迟。你认为即使是1%的人在网上输入2个字符的速度也比100毫秒快,而不是故意的吗?不管怎样,谢谢你是唯一回答的人=)
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";
        }
    }
}
searchArray = [];
if true {
searchArray.push( i );
}