因此,我正在尝试制作一个元素周期表bot(不要怀疑,我很无聊),所以我将信息电子表格转换为csv,然后使用this将其转换为json。我命令的主要代码是here,而this是我的json文件。在说出element.find不是一个函数之前,它现在无法在我的数组中找到东西,这是行不通的。
if(!element.find(i => i.Symbol === args) || !element.find(i => i["Atomic Number"] == args)){
message.channel.send("Please use the command like this ``?pt (element symbol or atomic number)``")
return
}
当我尝试调用应该在数组中的数字或符号时,它还会不断发送“请使用这样的命令..”命令。
答案 0 :(得分:0)
问题出在您的if语句中。您正在检查数组element
是否不包含属性Symbol
为args
或属性Atomic Number
为args
的项。由于没有任何周期元素的符号和原子序号具有相同的值,因此对于这两个语句中的至少一个,条件将始终返回false。
修复非常简单,只需将||
更改为&&
。这样,if语句将检查数组是否不包含Symbol
为args
的项,并且不包含Atomic Number
为args
的项。如果两者之一返回true,则不会调用if语句中的代码