生成随机数javascript

时间:2015-08-01 04:44:08

标签: javascript jquery

好的,伙计们我在javascript函数中遇到随机数问题。我想生成一个包含3到7个索引或任何你称之为的数组。我的意思是这样的arr [价值,价值,价值] - > ARR [值,值,值...]。我已经这样做了。我的主要问题是,当我尝试将此数组的每个值放到另一个数组时,我有时会在结尾处得到一个空值。我的意思是当我打印数组时,我有时会得到这个20,11,17 ,.我尝试使用pop方法但是当我使用它时我只有2个数字,比我需要的最小数字少1。请帮忙,我的代码在下面

slice

有时结果如下:5,10,25,70, Pop方法没有像我之前所说的那样完成工作,所以任何帮助都会非常感激。

P.S num.length = 20;

1 个答案:

答案 0 :(得分:1)

花了一个小时后,我做对了。试试这个:

function randGen(num) {
    var a = Math.floor((Math.random() * 5) + 3);
    var c = num.length;
    var d;
    var arr = [];
    var mainArr = [];
    for (var b = 0; b < a; b++) {
        d = Math.floor(Math.random() * (c));
        for (var t = 0; t < arr.length; t++) {
            while (d == arr[t]) {
                d = Math.floor(Math.random() * (c));
            }
        }
        arr.push(d);
    }
    for (var qw = 0; qw < arr.length; qw++) {
        mainArr[qw] = num[arr[qw]];
    }
    mainArr.sort();
    console.log(mainArr);
}
$(function () {
    var num = [];
    for (var a = 5; a <= 100; a += 5) {
        num.push(a);
    }
    randGen(num);
});
  

num.length 在输入数组的长度中,当从该数组中获取随机索引时,您需要使用 array.lenght-1 作为索引从0开始。我已在您的代码中进行了必要的修改。