首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何给随机数赋值?

问如何给随机数赋值?
EN

Stack Overflow用户
提问于 2021-12-22 20:39:24
回答 1查看 67关注 0票数 0

你好,我是JavaScript的新手,实际上我对JavaScript一无所知。我试图为一个游戏制作一个工具,你点击一个按钮生成一个随机数,而不是你有一个平衡,它上升了一个特定的数量,根据你滚动的数字范围。假设1-10值1美元,11-20值2美元,21-30值3美元。也许你可以选择26,14,18和8。那就值8美元。我现在的问题是给一个特定的数字分配一个不同的值,而不是让余额按与数字相关的数量来增加。我不是在找具体的答案。我不想要施舍,我也不想找人免费为我做这份工作。但是,如果有人能帮我解决这个问题,或者带我去一个我能找到解决办法的地方,我会非常感激的。这是我目前所拥有的,离它需要的地方还很远。

​

代码语言:javascript
复制
function Random() {
  var rnd = Math.floor(Math.random() * 10000);
  document.getElementById('tb').value = rnd;
  const numberElement = document.getElementById("bal");
  const number = parseInt(numberElement.innerText, 10) + 1;
  numberElement.innerText = number;
}
代码语言:javascript
复制
<form name="rn">
  <input type="text" id="tb" name="tb" />
  <input type="button" value="Random Number" onclick="Random();" />
</form>

<h1>Balance:</h1>
<h2 id="bal">0</h2>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-22 20:50:00

假设该值不能通过直接算术从数字中直接计算(请参阅Pointy's comment),您可以定义一个“桶”数组,其中每个条目都有一个最小值、一个最大值和一个值,然后为任何给定值找到桶:

​

代码语言:javascript
复制
const buckets = [
  {
    min: 0,
    max: 5,
    value: 5
  },
  {
    min: 6,
    max: 10,
    value: 10
  },
  {
    min: 11,
    value: 100
  }
];

function findBucket (value) {
  return buckets.find(b => (
    (b.min == null || b.min <= value) // either bucket doesn't have a min or min is less than value…
    && (!b.max || b.max >= value)) // …and either bucket doesn't have a max or max is greater than value
  );
}

function getBucketValue (rollValue) {
  return findBucket(rollValue)?.value || 0; // return the bucket value, or zero if no bucket was found
}

console.log(getBucketValue(2)) // 5
console.log(getBucketValue(8)) // 10
console.log(getBucketValue(35)) // 100
console.log(getBucketValue(9999)) // 100
console.log(getBucketValue(-1)) // 0

​

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70454849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档