搜索机制包括整个单词

JDT*_*JDT -1 javascript arrays string search node.js

我创建了一个搜索机制,搜索字符串数组以获得精确的字符串匹配,但我希望它更直观一些.

我也可以让它在字符串中搜索一个字符串(例如chickengrilled chicken- 但问题是这允许用户键入kenill返回grilled chicken.

如果我输入chicken或者我希望它返回grilled.

有没有人对如何拥有更直观的搜索机制有任何建议?

编辑:

键入1个单词时,下面的正确答案有效,它会搜索字符串中的所有单个单词.但是,当你用2个单词搜索时,我意识到它失败了(因为它只搜索每个字符串单词).

我通过添加|| search == stringif包括不仅单独的单词匹配而是整个字符串匹配来解决这个问题.

但是我仍然遇到问题,要么搜索:

整个字符串匹配或匹配单个单词.

这意味着当search = green cup和时它失败了string = big green cup.有没有办法通过剪切集合来搜索内部?也许类似于:

string.split(' ')但也要包括big green, green cup阵列呢?

Mat*_*jra 5

尝试这个最简单的代码没有正则表达式

var data = ["first string1 is here", "second string2 is here", "third string3 is here"];
    var wordToSearch = "string2 is thanks";
    var broken = wordToSearch.split(' ');
    var result = 'not found';
    if(broken.length == 1){
    data.forEach(function(d){
        d1 = d.split(' ');
    if(d1.includes(wordToSearch))
        result = d;
});
}
else if(broken.length == 2)
{
    data.forEach(function(d){
        var d1 = d.split(' ');
        if(d1.includes(broken[0]) && d1.includes(broken[1]))
        {
            result = d;
        }
    });
}
alert(result);
Run Code Online (Sandbox Code Playgroud)