Javascript 检查用户输入是否匹配变量中的任意一个单词,如果匹配,则显示图像

Javascript 检查用户输入是否匹配变量中的任意一个单词,如果匹配,则显示图像,javascript,jquery,arrays,variables,textinput,Javascript,Jquery,Arrays,Variables,Textinput,现在:什么有效 我在一个应用程序中有一个搜索页面,它有一个主要的语音界面,还有一个文本输入搜索选项(用于搜索图像)。我首先制定了语音命令,拥有所有图像,效果很好,现在我正在添加文本配置。下面是现在有效的示例,我只使用一个单词作为变量进行了测试: HTML 问题:添加一个单词的多个变体并检查用户输入是否与其中任何一个匹配现在我正在处理文本部分,刚刚意识到与语音不同,语音必须与一个字符串或字符串组合匹配(根据API规范),文本可以为一个单词提供多个选项,因为人们有时拼错单词。 我使用了上面的代码,它

现在:什么有效 我在一个应用程序中有一个搜索页面,它有一个主要的语音界面,还有一个文本输入搜索选项(用于搜索图像)。我首先制定了语音命令,拥有所有图像,效果很好,现在我正在添加文本配置。下面是现在有效的示例,我只使用一个单词作为变量进行了测试:

HTML

问题:添加一个单词的多个变体并检查用户输入是否与其中任何一个匹配现在我正在处理文本部分,刚刚意识到与语音不同,语音必须与一个字符串或字符串组合匹配(根据API规范),文本可以为一个单词提供多个选项,因为人们有时拼错单词。 我使用了上面的代码,它完美地向我展示了一个特定的图像,但现在我想为同一个单词添加几个选项,以及可能的单词组合

在这种情况下,这个词是“六十年代”。 我创建了一个变量

var sixties = "sixties";
这起作用了。但现在我想在下面添加这两个附加选项:

var sixties =["sixty", "sixtys", "sixties"];

这与我的其他代码不起作用。将这些单词添加到数组(?)中的最佳方法是什么?如果其中有匹配项,则显示图像?我知道我缺少了“检查这些单词之间是否匹配”选项,但我不知道如何更改我已有的内容。

因为您使用的是jQuery,所以可以使用$.inArray进行检查


因为您使用的是jQuery,所以可以使用$.inArray进行检查


如果值在六十年代数组中,则返回true:

if (value.indexOf(sixties) > -1)) {
    $("#button1960s_002").show().delay(10000).fadeOut();
} 

如果值在六十年代数组中,则返回true:

if (value.indexOf(sixties) > -1)) {
    $("#button1960s_002").show().delay(10000).fadeOut();
} 
var sixties =["sixty", "sixtys", "sixties"];
if($.inArray(value, sixties) !== false) {
    $("#button1960s_002").show().delay(10000).fadeOut();
}
if (value.indexOf(sixties) > -1)) {
    $("#button1960s_002").show().delay(10000).fadeOut();
}