Javascript DiscordJS:检查输入是否在字符串中

Javascript DiscordJS:检查输入是否在字符串中,javascript,arrays,string,discord.js,Javascript,Arrays,String,Discord.js,你好 我会尽我最大的努力来解释我遇到的这个问题 一个箱子,上面有一些提到的代码和注释: 我目前正在开发一个Discord机器人,其中有一个.json文件(作为字符串)中存储的数据 也许应该将其转换为数组 用户编写一个命令,bot初始化一个序列,在该序列中,它将根据在字符串中找到的内容执行多个选项 我花了太长时间(至少10个小时了&我现在完全没有主意了)来检查用户响应,看看他所做的输入是否在数组中 如果我写作!颜色76561197458345-它启动流程,如下所示: 如您所见,找到的恐龙(

你好 我会尽我最大的努力来解释我遇到的这个问题

一个箱子,上面有一些提到的代码和注释:

我目前正在开发一个Discord机器人,其中有一个.json文件(作为字符串)中存储的数据

  • 也许应该将其转换为数组
用户编写一个命令,bot初始化一个序列,在该序列中,它将根据在字符串中找到的内容执行多个选项

我花了太长时间(至少10个小时了&我现在完全没有主意了)来检查用户响应,看看他所做的输入是否在数组中

如果我写作!颜色76561197458345-它启动流程,如下所示:

如您所见,找到的恐龙(Carnotaurus)的可用选项是: [Utah1,Utah2]

这是正确的,因为它在我的json中列为下面Carnotaurus的detailcrest选项

[
  {
    "name": "Acrocanthosaurus",
    "detailcrest": "[Utah1, Utah2]",
    "underbelly": "[Utah3, Utah4]",
    "body1": "[Utah5, Utah6]",
    "body2": "[Utah7, Utah8]",
    "body3": "[Utah9, Utah10]"
  },
  {
    "name": "Carnotaurus",
    "detailcrest": "[Utah1, Utah2]",
    "underbelly": "[Utah3, Utah4]",
    "body1": "[Utah5, Utah6]",
    "body2": "[Utah7, Utah8]",
    "body3": "[Utah9, Utah10]"
  }
]
然后,用户将根据找到的选项(本例为Utah1、Utah2)进行输入

我希望bot在聊天中检查用户的响应,如果他的答案存在于json文件中

if (inputCheck === true) {
console.log("found")
} else {
console.log("False")
}
如果在与Utah1的聊天中回复机器人,它将继续下一个问题(因为它存在)。 如果在与Pizza2的聊天中响应bot-它将响应(未找到,请选择可用选项)

TL;医生: 我只需要一种方法来检查字符串中是否存在用户响应(word) 如果是:继续,如果否:错误


我希望有人能给我一些建议,或者至少能在正确的方向上推动如何处理这个问题。

我找到了一个简单但显然不是我自己解决方案的最聪明的答案——不管它是如何工作的

我已将.json字符串更改为不包含任何括号

"detailcrest": "Utah1, Utah2",
为了搜索我的字符串,我应用了一个.split()函数(用、)分隔单词)

如果我对它执行If-else语句,它将返回true或false——对于给定的输入,如果它存在于json文件中

if (inputCheck === true) {
console.log("found")
} else {
console.log("False")
}
显然,这并不是专业领域最明智的做法

但在我的小机器人中,它应该与预期相符

  • 由于限制,我将在两天内接受我自己的答案作为解决方案

我找到了一个简单但显然不是我自己解决方案最聪明的答案——但它的效果与预期相符

我已将.json字符串更改为不包含任何括号

"detailcrest": "Utah1, Utah2",
为了搜索我的字符串,我应用了一个.split()函数(用、)分隔单词)

如果我对它执行If-else语句,它将返回true或false——对于给定的输入,如果它存在于json文件中

if (inputCheck === true) {
console.log("found")
} else {
console.log("False")
}
显然,这并不是专业领域最明智的做法

但在我的小机器人中,它应该与预期相符

  • 由于限制,我将在两天内接受我自己的答案作为解决方案