【发布时间】:2021-04-13 13:09:04
【问题描述】:
我正在尝试编写一个包含多个功能的 Discord 机器人。与此问题相关的主要命令是向数组添加数字的命令,以及从数组中删除数字的命令(前提是该数字存在)。虽然我已经完成了一个有效的“AddNumber”命令,但我的主要问题在于“RemoveNumber”代码。我正在使用arr.indexOf 函数来确定它当前是否存在于数组中。但是,每当我尝试该功能时,都会收到错误消息:UnhandledPromiseRejectionWarning: TypeError: arr.indexOf is not a function。虽然我在网上找到了几个解决方案,并尝试了其中的大部分,但没有一个有帮助。我怎样才能解决这个问题?或者,还有其他方法可以检查吗?
相关代码(如有需要可提供更多!):
// Main File (Where the array is made, passed to needed files using async)
const arr = [
"1",
];
// End main file
// Command File
if(arr.indexOf(gametoend) === -1){
message.reply('that game doesn\'t exist! Did you put in the wrong number?');
} else {
message.channel.send('Placeholder success');
}
// End command file
更新:这是弹出的完整错误文本。对于这个问题,我将数组名称从 inprogressgames 更改为 arr,但此处并非如此,因此名称不同。 Image link
更新 2:将代码放入 pastebin,希望对您有所帮助。 Link
【问题讨论】:
-
上传数组的声明
-
你提供了错误的代码 ^^ 你的错误是
inprogressgames.indexOf,而你提供了arr.indexOf。请显示发生错误的代码段 -
您提供的代码不会产生该错误。
-
如果没有完整的代码,我们没有什么可做的,但错误意味着在某些时候
arr不是array,因此方法indexOf将不起作用。找出arr何时不是数组,您将解决问题。
标签: javascript arrays discord.js