在字符串数组中查找字符串的最快方法

时间:2014-08-27 13:58:00

标签: javascript arrays

假设我们有一个字符串数组,如下所示:

var arr = ['qwe', 'rty', 'uio p', 'a', 's df'];

但更长。和一个字符串,这是用户输入。

因此,在每个keyup(插入该字符串中的下一个字符)中,我必须检查该字符串中是否存在该字符串。

我知道我可以通过每次循环遍历数组来实现它 - 但有没有办法让它更快?

2 个答案:

答案 0 :(得分:7)

您可以使用indexOf()函数。

var arr = ['qwe', 'rty', 'uio p', 'a', 's df'];
var str= 'rty';

var isPresent = (arr.indexOf(str) > -1);

解释: indexOf()返回在数组中找到的字符串的索引。如果找不到该字符串,则返回-1。 所以... indexOf(' qwe')返回0,indexOf(' rty')返回1,等等。但indexOf(' foo')返回-1。

答案 1 :(得分:2)

使用IndexOf()

var arr = ['qwe', 'rty', 'uio p', 'a', 's df'];
arr.indexOf('a'); // returns 3
arr.indexOf('aaa'); // returns -1