首页 > 解决方案 > 如何在javascript中将随机价格变成随机的最小应付现金金额

问题描述

我想要一个 javascript 的数学算法

示例输入->输出:

标签: javascriptmath

解决方案


第一步,您可以Math.random()使用 200 倍数(此链接将解释更多)。

然后你可以找到哪些钞票大于或等于随机数量(Array.prototype.filter())。

然后您可以Math.random()再次使用随机抽取 3 张有效纸币(链接)。

这是执行上述步骤的代码:

const banknotes = [0.01, 0.02, 0.05, 1, 5, 10, 20, 50, 100, 200]

const handleClick = () => {
  const amountNeeded = Math.random() * 200
  const validBanknotes = banknotes.filter(value => value >= amountNeeded)
  const randomBanknotes = []
  for (let i = 0; i < 3; i++) {
    randomBanknotes.push(validBanknotes[Math.floor(
      Math.random() * validBanknotes.length)])
  }
  console.log(`Amount needed: ${amountNeeded}. Random banknotes: ${randomBanknotes}`)
}
<button onclick='handleClick()'>Click to generate random results</button>


推荐阅读