javascript - 有什么方法可以让我的 jquery 搜索更好吗?

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

非常感谢

最佳答案

我会推荐以下内容(因为 jQuery 提供了这种便利):

$.each(myarr, function(index, value) {
    if (rSearchTerm.test(value)) {
        // item found
    }
});

唯一加快速度的其他方法可能是在普通的 for 循环中不使用 jQuery 来完成此操作,因为它不涉及回调:

for (var i = 0; i < myarr.length; i++) {
    if (rSearchTerm.test(myarr[i])) {
        // item found
    }
}

编辑:我将.match()更改为.test(),就像Andy E建议的那样。

关于javascript - 有什么方法可以让我的 jquery 搜索更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3657089/

相关文章:

javascript - 用垂直滚动代替水平滚动

javascript - 如何在外部 CDN 脚本失败时异步回退? (异步/延迟)

javascript - 加载外部脚本时锁定浏览器

java - 计算除字符串末尾以外的字符的所有出现次数

javascript - 链式 promise 调用

javascript - 如何通过 JavaScript 中的按钮用随机数填充表格单元格

javascript - jQuery - 每次点击都在类之间切换?

javascript - rails 4 : asset pipeline (javascripts) routing error

c# - 如何替换 C# 中的特定单词?

Python:str.split字符串返回 'Columns must be same length as key',尽管expand=True并且字符串中的正则表达式没有多个匹配