javascript-检查字符串是否在不区分大小写的数组中

javascript-检查字符串是否在不区分大小写的数组中,javascript,html,Javascript,Html,我想做一个过滤器。如果你输入了一个“黑名单”中的单词,它会告诉你一些事情。我有所有的代码,但有一个问题 JS: input = document.getElementById("input").value; array = ["1","2","3"]; function filter() { if (input == array) // I will do something. } else { // Something too } } 我想这样做,如果输入是数组中的一项。

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

JS:

input = document.getElementById("input").value;
array = ["1","2","3"];
function filter() {
  if (input == array)
  // I will do something.
  } else {
  // Something too
  }
}
我想这样做,如果
输入
数组中的一项
。这句话是真的。但正确的方法是什么呢?因为我在这里做的不管用我也想去掉区分大小写的功能这样,如果数组中有
hello
,则会检测到
hello
hello

对不起,如果以前有人问过这个问题。我搜索了它,但不知道该用什么关键字


编辑1:

input = document.getElementById("input").value;
array = ["1","2","3"];
function filter() {
  if (input == array)
  // I will do something.
  } else {
  // Something too
  }
}
我稍微改变了一下我的问题: 我想检查一下我原来的问题中有什么,但有一些其他的特点


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

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

如果元素不包含在数组中,它将是-1。

我想你在寻找什么

此代码应适用于:

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

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

我认为关键字可以是“javascript数组包含某些项”、“javascript检查项在数组中”或“javascript输入是数组中的项(只需复制您的单词)”,如果你知道你想要什么,思考应该不难……更常用的是
-1
。我会用它来避免任何进一步的混淆,谢谢!有没有办法去掉区分大小写的,这样如果我有
hello
。在数组中检测到
hello
hello
两种情况?@Finiox没有问题,您必须使用
map
进行大小写不敏感,并将值映射到包含大写值的临时数组中,然后将输入转换为大写并进行比较。这里详细描述:如果出于某种原因
indexOf
返回undefined或null,这将从文档返回误报“如果要搜索的值从未出现,则此方法返回-1”