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

k10*_*102 0 javascript arrays

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

var arr = ['qwe', 'rty', 'uio p', 'a', 's df'];
Run Code Online (Sandbox Code Playgroud)

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

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

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

Bas*_*ter 7

您可以使用indexOf()函数.

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

var isPresent = (arr.indexOf(str) > -1);
Run Code Online (Sandbox Code Playgroud)

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