假设我们有一个字符串数组,如下所示:
var arr = ['qwe', 'rty', 'uio p', 'a', 's df'];
但更长。和一个字符串,这是用户输入。
因此,在每个keyup
(插入该字符串中的下一个字符)中,我必须检查该字符串中是否存在该字符串。
我知道我可以通过每次循环遍历数组来实现它 - 但有没有办法让它更快?
答案 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