在JavaScript中生成两个数字之间的随机数

有没有办法在JavaScript中生成指定范围(例如1到6:一、二、三、四、5或6)内的随机数? 网络


#1楼

数学不是个人强项,可是我一直在从事一个项目,我须要在正负之间生成不少随机数。 dom

function randomBetween(min, max) {
    if (min < 0) {
        return min + Math.random() * (Math.abs(min)+max);
    }else {
        return min + Math.random() * max;
    }
}

例如 编码

randomBetween(-10,15)//or..
randomBetween(10,20)//or...
randomBetween(-200,-100)

固然,您也能够添加一些验证,以确保除了数字之外不要使用其余任何方法。 还要确保最小值始终小于或等于最大值。 spa


#2楼

我发现上面的Francisc解决方案没有在结果中包含最小或最大数,所以我将其更改成: code

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

#3楼

Math.random()

Mozilla开发人员网络文档中: ip

// Returns a random integer between min (include) and max (include)

Math.floor(Math.random() * (max - min + 1)) + min;

有用的例子: ci

// 0 -> 10
Math.floor(Math.random() * 11);

// 1 -> 10
Math.floor(Math.random() * 10) + 1;

// 5 -> 20
Math.floor(Math.random() * 16) + 5;

// -10 -> (-2)
Math.floor(Math.random() * 9) - 10;

#4楼

我正在搜索用TypeScript编写的随机数生成器,并在阅读全部答案后编写了此代码,但愿它适用于TypeScript编码人员。 开发

Rand(min: number, max: number): number {
        return (Math.random() * (max - min + 1) | 0) + min;
    }

#5楼

或者,在下划线 文档

_.random(min, max)
相关文章
相关标签/搜索