有没有办法让我的jquery搜索更好?

时间:2010-09-07 08:40:03

标签: javascript jquery regex search

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”将是一个很大的数组,所以我想确保我使用最好的搜索方式

非常感谢

1 个答案:

答案 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建议的那样。