如何取一个现有的数字,并在此基础上生成一个随机数?[javascript]

How to take an existing number and generate a random number based on it? [javascript]

本文关键字:一个 随机数 javascript 何取一 数字 在此基础上      更新时间:2023-09-26

我想取用户输入的一个个位数,并基于它生成另一个个位数随机数。在现实世界中,类似的游戏是轮盘赌或老虎机,从一个特定的值开始,然后随机化。

这将生成1-10之间的随机数,但不包含任何现有的数字作为输入。

var randomnumber=Math.floor(Math.random()*10) 

这可能吗?

试试下面的代码

Math.floor(Math.random() * 10) + 1

您还可以根据需要参考和使用以下代码

function randomNumberInterval(min,max)
{
    return Math.floor(Math.random() * (max - min + 1) + min);
}

如果用户输入随机数的起始值,则其为:

var randomnumber= (Math.floor(Math.random()*10) ) + user_input

示例用户输入5和数学。地板(随机数)是3,那么你的实际随机数将是5+3=8

我相信你正在寻找的是一个种子随机数生成器,种子是预先存在的数字。这在数学中是不可能的。随机,因为它只是使用当前时间作为种子。看看这里的变通方法。

在Javascript中植入随机数生成器

可种子JavaScript随机数生成器

都指向这个链接:http://davidbau.com/archives/2010/01/30/random_seeds_coded_hints_and_quintillions.html

,其中生成了一个种子随机数,并可在此处下载https://github.com/davidbau/seedrandom

或者更简单的解决方案是第一个链接中的第二个答案:

var seed = 1;
function random() {
var x = Math.sin(seed++) * 10000;
return x - Math.floor(x);
}

感谢@Antti Sykäri提供的代码