Javascript 看到 var inside var

Javascript set var inside var

我正在为 Discord 创建一个基本的掷骰子程序,我想知道如何在变量中设置变量。我可能把事情复杂化了,但我仍然想看看这是否可行,以及是否有更好的方法来做到这一点。这是我当前的代码:

    while (dice > 0) {
        var die = Math.floor(Math.random() * (7 - 1) + 1)
        console.log("roll: " + die + ", currently: " + dice)
        dice = dice - 1
        message.channel.sendMessage(die)
    }

所以目前这可以完成工作 'well'。我正在寻找使用 roll 变量存储 dice 变量(您定义要掷多少骰子的部分)。我猜它会像 var roll = r.dice

基本上,我想要做的就是将滚动保存为不同的变量,以便在一条消息中发送它们。所以代码会将它们保存为 r.10 到 r.1,然后我可以将这些变量作为一条消息显示 r.10 . . r.1

我正在使用的方法是否可行,或者是否有更好的方法?

您可以使用数组:

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

var roll = [];
var dice = 10;
while (dice --> 0) {
  var die = Math.floor(Math.random() * 6 + 1);
  roll.push(die);
}
var output = roll.map((x, i) => {
  return 'r.' + (roll.length - i) + ': ' + x;
}).join('\n');

console.log(output);
//message.channel.sendMessage(output)

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]);
}