Zer*_*des 2 javascript arrays discord
我正在制作一个不和谐的机器人,并试图使用数组制作一个禁止的单词列表。我似乎找不到如何使这项工作。这是我当前的代码:
if (forbidenWords.includes(message.content)) {
message.delete();
console.log(colors.red(`Removed ${message.author.username}'s Message as it had a forbidden word in it.`));
}
Run Code Online (Sandbox Code Playgroud)
如果您无法告知,我正在尝试检查用户的消息中是否包含数组中的任何内容forbidenWords并将其删除。我该怎么做呢?
您发布的代码检查整个消息的内容是否是您的数组的成员。要完成您想要的任务,请循环遍历数组并检查消息是否包含每个项目:
for (var i = 0; i < forbidenWords.length; i++) {
if (message.content.includes(forbidenWords[i])) {
// message.content contains a forbidden word;
// delete message, log, etc.
break;
}
}
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,您的变量名称中拼错了“forbi dd en”)
小智 6
在“现代” JS中:
forbiddenWords.some(word => message.content.includes(word))
Run Code Online (Sandbox Code Playgroud)
采用逐行注释的格式:
forbiddenWords // In the list of forbidden words,
.some( // are there some
word => // words where the
message.content // message content
.includes( // includes
word)) // the word?
Run Code Online (Sandbox Code Playgroud)