找不到数组中状态明确的对象

时间:2019-10-16 10:41:41

标签: discord.js

因此,我正在尝试制作一个元素周期表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
}

当我尝试调用应该在数组中的数字或符号时,它还会不断发送“请使用这样的命令..”命令。

1 个答案:

答案 0 :(得分:0)

问题出在您的if语句中。您正在检查数组element是否不包含属性Symbolargs或属性Atomic Numberargs的项。由于没有任何周期元素的符号和原子序号具有相同的值,因此对于这两个语句中的至少一个,条件将始终返回false。

修复非常简单,只需将||更改为&&。这样,if语句将检查数组是否不包含Symbolargs的项,并且不包含Atomic Numberargs的项。如果两者之一返回true,则不会调用if语句中的代码