.includes() 检查 prompt() 中的关键字

.includes() Checking for keywords in prompt()

我正在创建一种聊天机器人,它将 运行 存储在数组中的嵌入关键字,在这个例子中,我在 y 中检查了数组 x。每当我在 prompt() 中准确键入 Hello 时,这个 returns true。但是,如果我在提示中按照 "Oh Hello There." 的方式说些什么,它 returns 是错误的。如何检查 prompt()(句子之间)

中的数组中的关键字
var x = ['Hello', 'Hi', 'Sup'];
var y = prompt("Looking for a Hello...");

if (x.includes(y)){
    alert("You Said Hello!");
} else {
    alert("No Hello Found!");
}

您需要检查每个单词,或者像此代码段中那样使用正则表达式

var x = ['Hello', 'Hi', 'Sup'];
var y = prompt("Looking for a Hello...");

var containsX = x.some(word=>y.includes(word))

if (containsX){
    alert("You Said Hello!");
} else {
    alert("No Hello Found!");
}

尝试使用indexof.

As mdn says:

The indexOf() method returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex. Returns -1 if the value is not found.

let x = ['Hello', 'Hi', 'Sup'];
let y = "Looking for a Hello...";

console.log(x.some(s=> y.indexOf(s)));