如何在JavaScript中的两个指定变量之间生成随机整数,例如x=4和y=8将输出4、5、6、7、8中的任意一个?


当前回答

所有这些解决方案都使用了太多的火力。您只需要调用一个函数:Math.random();

Math.random() * max | 0;

这将返回一个介于0(包含)和max(非包含)之间的随机整数。

其他回答

random(min,max)生成介于min(含)和max(不含)之间的随机数Math.floor将数字向下舍入到最接近的整数函数generateRandomInteger(最小,最大){return数学下限(随机(最小值,最大值))}

因此,要生成一个介于4和8之间的随机整数,请使用以下参数调用上述函数:

generateRandomInteger(4, 9)
var randomnumber = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;

使用以下代码,您可以在给定范围内生成一个随机数数组,而无需重复。

function genRandomNumber(how_many_numbers, min, max) {

    // Parameters
    //
    //   how_many_numbers: How many numbers you want to
    //                     generate. For example, it is 5.
    //
    //   min (inclusive):  Minimum/low value of a range. It
    //                     must be any positive integer, but
    //                     less than max. I.e., 4.
    //
    //   max (inclusive):  Maximum value of a range. it must
    //                     be any positive integer. I.e., 50
    //
    //   Return type: array

    var random_number = [];
    for (var i = 0; i < how_many_numbers; i++) {
        var gen_num = parseInt((Math.random() * (max-min+1)) + min);
        do {
            var is_exist = random_number.indexOf(gen_num);
            if (is_exist >= 0) {
                gen_num = parseInt((Math.random() * (max-min+1)) + min);
            }
            else {
                random_number.push(gen_num);
                is_exist = -2;
            }
        }
        while (is_exist > -1);
    }
    document.getElementById('box').innerHTML = random_number;
}

我的生成0和n之间的随机数的方法,其中n<=10(n除外):

Math.floor((Math.random() * 10) % n)

如果需要介于0和max之间的变量,可以使用:

Math.floor(Math.random() *  max);