小编Lea*_*eaf的帖子

indexOf在Switch中

我有一个基于Javascript的机器人用于Xat聊天室,它也可以充当AI.我最近决定重做它的AI部分,因为它成为一个绝对庞大的else if声明链,变得几乎不可能使用.

我做了一些研究,并提出了如何处理响应的新想法.我先给你代码段:

function msgSwitch(id,msgRes) {
var botResponse = [];

switch (msgRes) {
  case (msgRes.indexOf("hi") !=-1):
    botResponse.push("HELLO. ");
  case (msgRes.indexOf("how are you") !=-1):
    botResponse.push("I AM FINE. ")
  case (msgRes.indexOf("do you like pie") !=-1):
    botResponse.push("I CAN'T EAT. THANKS, ASSHAT. ")
  default:
    respond (botResponse);
    spamCount(id);
    break;
}

}
Run Code Online (Sandbox Code Playgroud)

这里的想法是检查msgRes(用户的输入)并查看它匹配的案例数量.然后对于每个匹配,它将push响应到botResponse数组中,然后在结束时,它将回复该数组中的所有消息.

用户信息: Hi! How are you?

msgRes: hi how are you

机器人比赛:

hi>推HELLO.送到阵列

how are you>推I AM FINE.送到阵列

机器人回应: …

javascript switch-statement tampermonkey

9
推荐指数
2
解决办法
1万
查看次数