【问题标题】:How to roll multiple dice using a for loop?如何使用 for 循环掷多个骰子?
【发布时间】:2015-06-27 02:06:33
【问题描述】:

以下代码一次掷 5 个骰子,但有 5 个不同的变量。我正在尝试使用 for 循环来实现这一点。这是合乎逻辑的还是每个骰子都需要5个不同的变量?

function dieroll() {
          var roll= "&#x268" + Math.floor(Math.random() * 6) + ";";
          var roll2= "&#x268" + Math.floor(Math.random() * 6) + ";";
          var roll3= "&#x268" + Math.floor(Math.random() * 6) + ";";
          var roll4= "&#x268" + Math.floor(Math.random() * 6) + ";";
          var roll5= "&#x268" + Math.floor(Math.random() * 6) + ";";
          var roll6= "&#x268" + Math.floor(Math.random() * 6) + ";";   
    return roll + roll2 + roll3 + roll4 + roll5;
  }

【问题讨论】:

  • 使用数组而不是不同的变量。另外,你可以将 RHS 部分放在另一个变量中,你不想写同样的东西 6 次!
  • 没错!我也不想重复自己。

标签: javascript html loops for-loop


【解决方案1】:

另一种方法可能是:

function dieroll() {
  var result = [];
  for (var i = 0; i < 5; i++){
    result.push("&#x268" + Math.floor(Math.random() * 6) + ";");
  }
  return result;
};

使用此定义,对 dieroll() 的调用如下所示:

dieroll()

[“⚁”、“⚂”、“⚂”、“⚂”、“⚂”]

【讨论】:

  • 如果你每次都返回一个字符串,那么for循环内部应该有一个数组来存储返回的值,你不这么认为吗?
  • 这成功了!谢谢你。现在可以在没有数组的情况下实现这一点。项目之间的逗号不好看。
  • return dice.join('');
猜你喜欢
  • 2018-02-27
  • 1970-01-01
  • 2012-11-27
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
相关资源
最近更新 更多