【发布时间】:2018-12-29 19:48:57
【问题描述】:
正如我提出的问题,我有这些命令可以正常工作但未经验证,这意味着如果我输入一个名称,它只会使记录无法验证该名称是否已存在于数组中。
这听起来很简单,但我尝试使用array.find 进行验证,然后在插入之前与值进行比较,但它不起作用:例如在命令track 我试图验证您是否尝试插入的名称已经存在。在命令untrack 中,如果名称不存在发送消息,因为这是另一个问题:如果名称不存在,该命令将删除最后插入的记录。
如果有人知道如何进行此类验证,我将不胜感激。
const args = message.content.slice(prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();
if (command === "track") {
let [playerName, playerType] = args;
list.push({
name: playerName,
type: playerType
}) var logger = fs.createWriteStream('./realmtrack-config.json')
logger.write(JSON.stringify(config)) message.reply(`Player being tracked!`);
}
if (command === "untrack") {
let [playerName, playerType] = args;
let entry_to_delete = list.find((e: any) => e.name === playerName);
list.splice(list.indexOf(entry_to_delete), 1);
var logger = fs.createWriteStream('./realmtrack-config.json');
logger.write(JSON.stringify(config));
message.reply(`${playerName} stopped being tracked!`);
}
【问题讨论】:
-
所以你想搜索一个对象列表来确定玩家当前是否正在被跟踪?
标签: arrays json node.js discord.js