您如何将自定义命令设置为数组中的任何字符串?

时间:2019-10-31 21:46:13

标签: discord.js

我一直在做Discord机器人,而不是在我的代码中为每个字符串使用大量的OR运算符。我只想制作一个数组并有一个if语句,不带500个OR运算符

这是我之前尝试过的方法,没有用。

if (cmd === orb_image_keywords.splice(0,3){
  message.channel.send("orb!", {files: ["https://i.imgur.com/cOCYdAu.png"]});
  console.log("Message was sent")
}

1 个答案:

答案 0 :(得分:0)

您可以使用.includes()函数检查数组中的特定项目。例如:

["a", "b", "c"].includes("a")
> true

["a", "b", "c"].includes("d")
> false

第二眼看到您的代码,您正在访问orb_image_keywords[0,1,2],但请看下面的示例

["a", "b", "c"][0, 1, 2]
> "c"

您只在检索列表中检索最后一个项目,我确定这不是您要查找的内容。如果您知道开始和结束索引,则可以执行array.slice(start, end)以获取所需的内容。请注意,end是排他的,而不是排他的,因此您将在end参数的左侧获得所有内容。

["a", "b", "c"].slice(0, 3)
> (3) ["a", "b", "c"]

["a", "b", "c"].slice(0, 2)
> (2) ["a", "b"]