提问者:小点点

有没有一种方法可以在node.js中设置一个不被定义为小写的变量?


我正在制作一个discord.js机器人,它的命令可以有不同的参数,比如mc!start vanilla,mc!start tekkit。只允许单数字符串条目,因为这是我制作它的目的。但是,如果用户没有输入参数,只是执行了mc!start,我希望它说明不能将参数留空,但是当我只输入mc!start时,脚本会给我“typeerror:不能读取未定义的属性'to小写‘”错误。我一直在尝试做赋值函数和其他类似的事情,但没有雪茄。下面是代码的拼接。

client.on('message', (message) => {
    const messagearray = message.content.trim().split(' ');
    const command = messagearray[0];
    const minecraft_server = messagearray[1].toLowerCase();
    if(command === (`${prefix}help`)) {
        message.channel.send('Current Commands: !help, !start(Vanilla, Tekkit, Pixelmon, FarmingValley), !shutdown, !randomsong');
    }
    else if(command === (`${prefix}start`)) {
        if(mcVersions.indexOf(minecraft_server) === -1) {
// more code

共1个答案

匿名用户

在尝试调用数组元素的方法之前,检查是否设置了该数组元素。

const minecraft_server = messagearray[1] ? messagearray[1].toLowerCase() : "";

您可以提供默认服务器,而不是末尾的“”