关于html:javascript – 检查字符串是否在不区分大小写的数组中

javascript - check if string is in a array without case sensitive

本问题已经有最佳答案,请猛点这里访问。

我想做个过滤器。如果你输入一个"黑名单"中的单词,它会告诉你一些事情。我有所有代码,但有问题。

JS:

1
2
3
4
5
6
7
8
9
input = document.getElementById("input").value;
array = ["1","2","3"];
function filter() {
  if (input == array)
  // I will do something.
  } else {
  // Something too
  }
}

我想这样做,如果inputarray中的一个项目。这句话是真的。但正确的方法是什么?因为我在这里做的事行不通!同时我想摆脱对大小写敏感的问题!因此,如果阵列中有hello,则检测到hellohello

如果以前问过这个问题,很抱歉。我搜索了它,但不知道要使用什么关键字。


编辑1:

我在稍微改变一下我的问题:我想检查一下我最初的问题是什么,但有一些其他功能。

我还想检查input中是否有一个项目的一部分在array中。因此,如果输入为hello,则检测到helloworld,因为其中有hello。以及hellohello


使用indexOf

1
if (array.indexOf(input) > -1)

如果元素不包含在数组中,则为-1。


此代码应该有效:

1
2
3
4
5
6
7
8
9
input = document.getElementById("input").value;
array = ["1","2","3"];
function filter() {
   if (array.indexOf(input) >= 0)
      // I will do something.
    } else {
      // Something too
    }
}

index of方法是数组类型的成员,并返回搜索元素的索引(从0开始),如果找不到该元素,则返回-1。


我想你要找的是

1
2
3
4
5
6
7
8
9
input = document.getElementById("input").value;
array = ["1","2","3"];
function filter() {
  if (array.indexOf(input) !== -1 )
  // I will do something.
  } else {
  // Something too
  }
}