Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript搜索字符串包含什么?_Javascript_Search_Contains - Fatal编程技术网

JavaScript搜索字符串包含什么?

JavaScript搜索字符串包含什么?,javascript,search,contains,Javascript,Search,Contains,我现在的代码有点问题 我有一个文本框,我想在其中输入一个搜索框,然后得到一个以某种方式依赖于我所问内容的答案 只要我在文本框中只输入一个单词,它就可以正常工作,如果我的数组包含该单词,它就会被找到 但当我进入一个完整的问题,比如:你多大了 甚至我的数组也有“old”这个词 它找不到 我如何纠正这种行为 function askQ(){ var searchWord = new Array("age","old","color","fun","eyes",

我现在的代码有点问题

我有一个文本框,我想在其中输入一个搜索框,然后得到一个以某种方式依赖于我所问内容的答案

只要我在文本框中只输入一个单词,它就可以正常工作,如果我的数组包含该单词,它就会被找到

但当我进入一个完整的问题,比如:你多大了

甚至我的数组也有“old”这个词 它找不到

我如何纠正这种行为

function askQ(){
  var searchWord = new Array("age","old","color","fun","eyes",
                                "legs","eye","leg");
  var findme = document.getElementById('askBox').value;

  if (searchWord.indexOf(findme) > -1 ) {
  document.getElementById('bubble').innerHTML = "FOUND IT!";
} else {
  document.getElementById('bubble').innerHTML = "SORRY!";
}

您只需将findme按空格拆分即可:

words = findme.split(' ');

在此之后,您只需为添加一个
,然后逐字查看数组。

您只需按空格拆分findme即可:

words = findme.split(' ');

之后,您只需为
添加一个
,然后逐字查看数组。

您的代码当前会检查整个输入字符串是否在数组中。这意味着它正在检查数组中是否包含“你有多大岁数”,而实际上并非如此

您可能需要遍历整个数组,并将数组中的每个字符串与输入进行比较

document.getElementById('bubble').innerHTML = "SORRY!";
for (var i = 0; i < searchWord.length; i++) {
    if(findme.indexOf(searchWord[i])>-1){
        document.getElementById('bubble').innerHTML = "FOUND IT!";
    }
}
document.getElementById('bubble').innerHTML=“对不起!”;
for(var i=0;i-1){
document.getElementById('bubble').innerHTML=“找到它!”;
}
}

您的代码当前检查整个输入字符串是否在数组中。这意味着它正在检查数组中是否包含“你有多大岁数”,而实际上并非如此

您可能需要遍历整个数组,并将数组中的每个字符串与输入进行比较

document.getElementById('bubble').innerHTML = "SORRY!";
for (var i = 0; i < searchWord.length; i++) {
    if(findme.indexOf(searchWord[i])>-1){
        document.getElementById('bubble').innerHTML = "FOUND IT!";
    }
}
document.getElementById('bubble').innerHTML=“对不起!”;
for(var i=0;i-1){
document.getElementById('bubble').innerHTML=“找到它!”;
}
}

您应该检查数组的每个元素 试着这样做:

<div id="bubble">test</div>
<br/>
<button onclick="test()">click me</button>

function test() {
    var searchWord = new Array("age", "old", "color", "fun", "eyes",
        "legs", "eye", "leg");
    var ph = "How old are you ?";
    for(var w in searchWord) {
        if (ph.indexOf(searchWord[w]) > -1) {
            document.getElementById('bubble').innerHTML = searchWord[w] + " - FOUND IT!";
        }
    }
}
测试

点击我 功能测试(){ var searchWord=新数组(“年龄”、“旧”、“颜色”、“乐趣”、“眼睛”, “腿”、“眼”、“腿”); var ph=“你多大了?”; for(searchWord中的var w){ 如果(ph.indexOf(搜索词[w])>-1){ document.getElementById('bubble').innerHTML=searchWord[w]+“-找到了!”; } } }
您应该检查数组的每个元素 试着这样做:

<div id="bubble">test</div>
<br/>
<button onclick="test()">click me</button>

function test() {
    var searchWord = new Array("age", "old", "color", "fun", "eyes",
        "legs", "eye", "leg");
    var ph = "How old are you ?";
    for(var w in searchWord) {
        if (ph.indexOf(searchWord[w]) > -1) {
            document.getElementById('bubble').innerHTML = searchWord[w] + " - FOUND IT!";
        }
    }
}
测试

点击我 功能测试(){ var searchWord=新数组(“年龄”、“旧”、“颜色”、“乐趣”、“眼睛”, “腿”、“眼”、“腿”); var ph=“你多大了?”; for(searchWord中的var w){ 如果(ph.indexOf(搜索词[w])>-1){ document.getElementById('bubble').innerHTML=searchWord[w]+“-找到了!”; } } }
旁注:制作数组时使用
[]
而不是
新建数组()
是否尝试过按空格拆分“findme”?旁注:制作数组时使用
[]
而不是
新建数组()
是否尝试过按空格拆分“findme”?谢谢,所有有用的提示^_^谢谢,所有有用的提示^_^