有没有一种方法可以在不遍历所有元素的情况下使用jquery查找数组中的子字符串?
我有一个数组
arr = ["tree","bird"];在不遍历所有元素的情况下,是否可以弹出具有"ird“子字符串的元素?
发布于 2013-05-17 04:54:59
如果问题出在performance,因为它是一个包含1930年以来数据的大型数组,除非您正在执行诸如自动完成之类的操作(这将需要在用户每次键入字符时重新搜索),否则您最大的问题将是数据传输,而不是客户端处理。
无论哪种方式,如果是一大堆数据,都不会发送到客户端。实现一个服务,该服务将执行计算、检索并将结果发送回您。
在服务器端(或者如果你真的痴迷于在客户端实现),如果在迭代数组(或选择数据库?)时性能很差,最好的选择是 (这是实现自动完成等场景中的子字符串搜索的最常见方式)。
发布于 2013-05-17 04:21:15
如果你只是想知道是否出现了子字符串,你可以这样做:
var arr = ["tree", "bird"];
arr.join("|").match(/tree/); //The "|" is to make sure that the substring is not formed by 2 different words顺便说一句,这是纯Javascript,你不需要JQuery。
但是,您不能将元素“弹出”出数组,为此,您必须获取它的索引,为此,您必须遍历数组。
发布于 2013-05-17 04:23:41
基本上,不是。
但是,如果您担心遍历整个列表,则可以使用for循环,一旦找到匹配项,就会立即中断该循环。
https://stackoverflow.com/questions/16596699
复制相似问题