我使用以下代码生成从 0 到 15 的随机数。我使用函数 random() 生成唯一数我这样调用函数
cat=random();
我将随机数保存在数组 r[] 中。并检查新生成的数字是否在数组中。如果出现重复,我再次调用 random() 函数。我使用 alert 来检查它是否正常工作
function random(){
var ran,max=0,min=0;
max=r.length;
alert(max);
if (max>15)
alert("no more space");
ran=Math.floor(Math.random() * 15) + 0;
for (i=0;i<max;i++)
if (ran==r[i])
min++;
if (min>0){
alert("calling");
random(); //return in here
}else{
i=parseInt(max);
r[i]=ran;
return(ran);
alert(ran);
}
}
但是当重复发生时,函数内的变量返回可以帮助解决这个问题。