Javascript 如何检查数组是否为空

Javascript 如何检查数组是否为空,javascript,Javascript,我想发出命令,以便在discord中附加角色。当我想附加允许的角色时,它会起作用;当我想附加不允许的角色(如管理员、团队等)时,它也会起作用并拒绝。但是当我打字的时候!角色,它不输出任何内容。这当然不错,但经过一些尝试后,我意识到,当我没有输入一个参数时,参数不是空的。我试过了 if(args == null) { message.channel.send(`You haven´t entered a role!`); } args是保存命令参数的数组。 我知道

我想发出命令,以便在discord中附加角色。当我想附加允许的角色时,它会起作用;当我想附加不允许的角色(如管理员、团队等)时,它也会起作用并拒绝。但是当我打字的时候!角色,它不输出任何内容。这当然不错,但经过一些尝试后,我意识到,当我没有输入一个参数时,参数不是空的。我试过了

if(args == null) {
            message.channel.send(`You haven´t entered a role!`);
    }
args是保存命令参数的数组。 我知道如果没有一个参数,数组甚至不存在,那么我怎么能告诉机器人呢
如果命令中没有数组,那么…

如果args变量不是数组或者数组没有至少一个值,下面的代码将计算为true

如果Array.isArrayargs | | args.length==0{ message.channel.send`您尚未输入角色!`; }

如果args变量不是数组,或者数组没有至少一个值,则下面的代码将计算为true

如果Array.isArrayargs | | args.length==0{ message.channel.send`您尚未输入角色!`; }

Ok,那么args实际包含什么呢?ifargs===null | | | args===undefined | | | args.length==0Ok,那么args实际包含什么呢?ifargs==null | | args==undefined | args.length==0检查args的类型也可能有用。否则,您将得到一个未捕获的引用error@D.Kendall是的,接得好。只要他们至少声明了变量,Array.isArrayargs检查就会发现它。但是你是对的,如果args变量还没有定义,它将抛出。谢谢,我测试了它并得到了错误,所以我想我应该提到它。Array.isArray是在ES5中引入的。如果不是针对ES5+,则可以使用polyfill。检查typeof args===“undefined”也可能有用。否则,您将得到一个未捕获的引用error@D.Kendall是的,接得好。只要他们至少声明了变量,Array.isArrayargs检查就会发现它。但是你是对的,如果args变量还没有定义,它将抛出。谢谢,我测试了它并得到了错误,所以我想我应该提到它。Array.isArray是在ES5中引入的。如果不是针对ES5+,则可以使用polyfill。