我正在处理一段代码,这些代码使数组中包含我想要的数字,但是不是这个静态的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/>");
}
答案 0 :(得分:0)
您需要使用integer
在parseInt
中解析它。
var num = 16;
var randomenumber = Math.floor((Math.random() * parseInt(num)));
答案 1 :(得分:0)
如果您使用var length = 16
和Math.floor((Math.random() * length))
,我就不会发现任何问题。
工作代码:
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;