如何在随机生成的数字上添加函数

时间:2019-11-11 12:56:59

标签: javascript function math

是否可以在随机生成的数字上添加函数。例如,我使用了getRndInteger(min, max)Math.floor()Math.random()来生成随机数,然后在这些数字中添加函数以查看哪个生成的数字最大。我当时在想也许可以将每个随机数放入数组中并在它们上使用Math.max(),但是我不太确定如何将这些数放入函数中,例如单击时会看到生成的数结果(最多)。我主要想知道是否有可能,如果可以,如何。我将非常感谢!

因此,我特别想使用-35到76之间的随机数,包括-35和76。我做了一个按钮,单击后显示随机数。我的另一个问题是,我不确定如何一个接一个地添加一个随机数,而不是单击时添加一个新数。 (哈哈,很抱歉,如果这是一个超级新手问题)。然后,在显示答案的段落上放置一个ID。而且我正在考虑将document.getElementById("")用作Math.max.apply(),并用另一个ID来显示另一个段落来显示答案。

<button onclick="document.getElementById('result').innerHTML = getRndInteger(-35,76)">Click Me</button>

Chosen number:
<p id="result"></p>

Biggest number:
<p id="result2"> </p>

<script>
    function getRndInteger(min, max) {
        return Math.floor(Math.random() * (max - min)) + min;
    }

</script>

<script>
       Array.max = function(document.getElementById("result");) {
        return Math.max.apply(document.getElementById"result");
    };

</script>

当我将.getElementById()作为数组放置在Math.max.apply()中时,即使单击,Java脚本也不再加载随机数。也许您需要在答案中添加id或其他内容,但我在这里没有想法。任何帮助将不胜感激!我还想知道是否仍然使用Math.max()来执行此操作,并避免使用任何过于复杂的代码来理解问题并在以后的代码中使用答案。谢谢你加载!

1 个答案:

答案 0 :(得分:0)

您应该存储先前生成的最大数量,以便能够确定当前生成的最大数量大于该最大数量。请参阅摘要以了解想法。

(() => {
  let max = null;
  const range = {
    min: -35,
    max: 76
  };
  const result = document.querySelector("#result");
  const maxResult = document.querySelector("#resultMax");
  const allNrs = document.querySelector("p#all");

  document.querySelector("button").addEventListener("click", handleButtonClick);

  function handleButtonClick() {
    const someRandomNumber = getRndInteger(range.min, range.max);
    result.textContent = someRandomNumber;
    max = max && someRandomNumber > max 
      ? someRandomNumber 
      : max 
        ? max 
        : someRandomNumber;
    maxResult.textContent = max;
    allNrs.textContent += ` ${someRandomNumber} `;
  }

  function getRndInteger(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
  }
})();
#all {
  max-width: 400px
}
<p>
  <button>Click Me</button>
</p>

Random number:
<span id="result"></span>
<br>Biggest number until now:
<span id="resultMax"></span>

<div>
  <br>All numbers until now:
  <p id="all"></p>
</div>