【发布时间】:2013-06-27 06:30:33
【问题描述】:
我从 getRandom(1,10) 得到一个介于 1 和 10 之间的随机生成的数字,但我不想要两次相同的数字。
为了防止这种情况发生,我将在数组 used 中保存的数字。
现在我想检查我得到的新号码是否在该数组中。
如果不继续,
如果是,则重新开始(获取新号码等)。
我现在缺少的是应该重新开始的部分。还是应该这样做?
jQuery(document).ready(function($){
var i=0;
while (i<21){
var used = new Array(20);
for(a=0; a<20; a++) {
var number = getRandom(1, 20);
used[a] = number;
}
var tf = inArray(number,used);
//Check if number is inside the
if(tf==false){
//If not
i++;
}else{
//If it is
i--;
}
}
function inArray(Item,arr) {
for(p=0;p<arr.length;p++) {
if (arr[p]==Item) {
return true;
}
}
return false;
}
});
【问题讨论】:
-
如果你使用jquery,为什么不使用jquery方法$.inArray()?
-
您可以将 1-20 放入一个数组中并随机排序,然后从该数组中从索引 0 开始绘制数字,每次递增。其他 SO 问题中有示例。
-
不知道 jQuery 可以做到这一点。
-
其他 SO 问题?你会这么好并发布其中一种方法吗?或链接到其中之一?
标签: javascript jquery arrays if-statement while-loop