Javascript JS Case开关的具体格式是什么?
因此,几天来我一直在使用Node.js为我的服务器开发一个Discord机器人,我对js是全新的。我正在尝试将一个Magic 8 Ball中的一些代码转换为JS,作为一个函数实现(只是随机数和大小写开关) 这来自C#项目: 这就是我试图实现的:Javascript JS Case开关的具体格式是什么?,javascript,c#,node.js,switch-statement,discord,Javascript,C#,Node.js,Switch Statement,Discord,因此,几天来我一直在使用Node.js为我的服务器开发一个Discord机器人,我对js是全新的。我正在尝试将一个Magic 8 Ball中的一些代码转换为JS,作为一个函数实现(只是随机数和大小写开关) 这来自C#项目: 这就是我试图实现的: switch( Math.random.Next(4)) { case 0: msg.channel.send('Yes'); break; case 1:
switch( Math.random.Next(4)) {
case 0:
msg.channel.send('Yes');
break;
case 1:
msg.channel.send('No');
break;
case 2:
msg.channel.send('Hell yes!');
break;
case 3:
msg.channel.send('Hell No!');
break;
}
我基本上是在尝试添加一个可以发送“Magic 8 Ball”的部分,它将返回Yes/No/Hell Yes/Hell No
编辑:
因此,我按照一条评论的建议,在每个实例中将“case”切换为所有小写。我现在遇到的错误是数学没有定义。另一篇文章建议把数学换成数学。下一步不是函数。如果您的问题是生成要在交换机中使用的随机整数,那么首先需要知道如何生成伪随机整数
Math.random
生成[0,1]范围内的浮点
所以你需要取这个值,乘以你的最大值,然后把它降到最低,把它变成一个整数
Math.floor(Math.random()*max)
您的最终代码如下所示:
switch(Math.floor(Math.random() * 4))) { // 4 is maximum n of options
case 0:
msg.channel.send('Yes');
break;
case 1:
msg.channel.send('No');
break;
case 2:
msg.channel.send('Hell yes!');
break;
case 3:
msg.channel.send('Hell No!');
break;
}
大小写
应该用小写:它在哪里定义?
switch(Math.floor(Math.random() * 4))) { // 4 is maximum n of options
case 0:
msg.channel.send('Yes');
break;
case 1:
msg.channel.send('No');
break;
case 2:
msg.channel.send('Hell yes!');
break;
case 3:
msg.channel.send('Hell No!');
break;
}