Есть ли способ улучшить поиск в jquery? - PullRequest
0 голосов
/ 07 сентября 2010

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 Ответ

2 голосов
/ 07 сентября 2010

Я бы порекомендовал следующее (так как 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(), как предложил Энди Е.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...