Javascript设置变量内部变量

Javascript设置变量内部变量,javascript,bots,discord,Javascript,Bots,Discord,我正在为Discord创建一个基本的掷骰子程序,我想知道如何在变量中设置一个变量。我可能把事情复杂化了,但我仍然想看看这是否可行,是否有更好的方法来做到这一点。这是我当前的代码: while(骰子>0){ var die=Math.floor(Math.random()*(7-1)+1) 日志(“掷骰:+骰子+”,当前:+骰子) 骰子=骰子-1 message.channel.sendMessage(die) }您可以使用阵列: 此示例将生成10个骰子卷,将它们添加到数组roll,然后将数组作为

我正在为Discord创建一个基本的掷骰子程序,我想知道如何在变量中设置一个变量。我可能把事情复杂化了,但我仍然想看看这是否可行,是否有更好的方法来做到这一点。这是我当前的代码:
while(骰子>0){
var die=Math.floor(Math.random()*(7-1)+1)
日志(“掷骰:+骰子+”,当前:+骰子)
骰子=骰子-1
message.channel.sendMessage(die)

}
您可以使用阵列:

此示例将生成10个骰子卷,将它们添加到数组
roll
,然后将数组作为单个消息输出

var roll=[];
var-dice=10;
而(骰子-->0){
var die=Math.floor(Math.random()*6+1);
辊、推(模);
}
var输出=roll.map((x,i)=>{
返回'r.+(roll.length-i)+':'+x;
}).join('\n');
控制台日志(输出);
//message.channel.sendMessage(输出)
函数doRolls(numRolls)
{ 
var rolls=[];
对于(变量i=0;i
var rolls=[]
对于(变量n=0;n<10;n+=1){
var roll=Math.floor(Math.random()*6)+1;
滚动。推(滚动);
}
控制台。原木(转鼓);
对于(变量n=0;n<10;n+=1){
控制台日志(“卷号”,n,“->”,卷[n]);
}

您想要JS对象还是数组?您可能想创建一个掷骰子数组。在这种情况下,将每个卷与数组的每个索引链接是很简单的。要将其连接到单个消息中,请执行以下操作:[2,5,6,2,6,1,6].map(函数(值,索引){return“r.”+(索引+1)+“:“+value;})。join('\n');不要介意我说我需要一个变量内部的变量的帮助,我发现了(var roll=“r.”+dice),但是,还有更简单的方法吗?嘿,谢谢你的帮助,我有点了解发生了什么,但总而言之,谢谢你。一个我以前没有的小问题是,数字可以超过6,一些例子是14,12,7,10。这个问题可以解决吗?我不太清楚为什么会这样,我在代码中编辑的只是删除了“r.”和“:“将“\n”替换为“,”,所以它输出了一行干净的数字。有什么办法可以解决吗?在删除
时,是否在
(roll.length-i)
x
之间留有空格?我能想到的唯一一个让你得到高于6的结果的原因是,如果它将模具编号添加到结果中。是的,确实发生了。在你回答之前,我寻找了一个模式来帮助你,看看是什么让它过去了,而不仅仅是一个“”。不过,感谢您的帮助。来自评论:此答案被标记为低质量。虽然答案总是值得赞赏的,但提供一些关于代码如何解决手头问题的信息确实很有帮助。并非每个人都熟悉您的确切编码逻辑,但可能理解您的一般方法或概念。为了帮助改进您的答案,请提供一些,并参阅上的帮助文章,了解如何使您的答案有价值的一些提示:)
function doRolls(numRolls)
{ 
    var rolls = [];
    for (var i=0; i < numRolls; i++) {
      rolls.push(Math.floor(Math.random() * (7 - 1) + 1))
    }
    return rolls;
}

rolls = doRolls(10);

for (var i=0; i < rolls.length; i++) {
    console.log("roll: " + i + ", value: " + rolls[i])
    message.channel.sendMessage(rolls[i])
}
var rolls = []
for (var n = 0; n < 10; n += 1) {
    var roll = Math.floor(Math.random() * 6) + 1;
    rolls.push(roll);
}

console.log(rolls);

for (var n = 0; n < 10; n += 1) {
    console.log("Roll number", n, "->", rolls[n]);
}