在Math.random函数中使用变量

时间:2016-12-09 09:35:47

标签: javascript arrays math random

我正在处理一段代码,这些代码使数组中包含我想要的数字,但是不是这个静态的16个数字我尝试将16更改为变量但是math.floor / randome不能读它它只吐出不是一个数字足够的。

编辑:有16个放入它的工作,但我不能使用一个变量(在相同的函数ofc中声明)我控制台.log变量,它显示为一个数字,但然后我的浏览器冻结

有没有人知道如何改变这个

while(arr.length < pictures.length) {
    var randomenumber = Math.floor((Math.random()* 16));
    if(arr.indexOf(randomenumber) > -1) {
        continue;
    }
    arr[arr.length] = randomenumber;
}

//cheat sheet
for(var i = 0; i < arr.length ; i++) {
    document.write(arr[i]);
    document.write("<br/>");
}

2 个答案:

答案 0 :(得分:0)

您需要使用integerparseInt中解析它。

var num = 16;
var randomenumber = Math.floor((Math.random() * parseInt(num)));

答案 1 :(得分:0)

如果您使用var length = 16Math.floor((Math.random() * length)),我就不会发现任何问题。

工作代码

&#13;
&#13;
var arr = [], length = 16;

while(arr.length < length) {
    var randomenumber = Math.floor((Math.random() * length));
    if(arr.indexOf(randomenumber) > -1) {
        continue;
    }
    arr[arr.length] = randomenumber;
}

//cheat sheet
for(var i = 0; i < arr.length ; i++) {
    document.write(arr[i]);
    document.write("<br/>");
}
&#13;
&#13;
&#13;