var myarr = Array('test1','test2','test3');
var searchTerm = "test";
var rSearchTerm = new RegExp( searchTerm,'i');
$.each(myarr, function(i) {
if (myarr[i].match(rSearchTerm)) {
//item found
}
});
有没有办法让我的搜索算法更好? “myarr”将是一个很大的数组,所以我想确保我使用最好的搜索方式
非常感谢
答案 0 :(得分:2)
我建议如下(因为jQuery提供了这种便利):
$.each(myarr, function(index, value) {
if (rSearchTerm.test(value)) {
// item found
}
});
唯一能让它更快的其他方法可能是在没有jQuery的情况下在普通的for
循环中执行此操作,因为它不涉及回调:
for (var i = 0; i < myarr.length; i++) {
if (rSearchTerm.test(myarr[i])) {
// item found
}
}
编辑:我将.match()
更改为.test()
,就像Andy E建议的那样。