无法在数组中找到明显是状态的对象

问题描述 投票:0回答:1

所以我试图制作一个元素周期表bot(不要问我很无聊),所以我将信息表变成了csv,然后使用this将其转换为json。我的命令的主要代码是herethis是我的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
}

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

discord.js
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.