用JS做不重复随机数。
用JS做1到35的随机数要求不能重复、我现在只会随机数但是不知道怎么判断随机出来一个数字是如何跟前面数字效验的。知道要是if但是不会写判断语句不知道如何提出当前随机数和前...
用JS做1到35的随机数
要求不能重复、我现在只会随机数 但是不知道怎么判断随机出来一个数字
是如何跟前面数字效验的。知道要是if 但是不会写判断语句不知道如何提出
当前随机数和前面随机过的进行比较!
不知道如何判断是否重复! 展开
要求不能重复、我现在只会随机数 但是不知道怎么判断随机出来一个数字
是如何跟前面数字效验的。知道要是if 但是不会写判断语句不知道如何提出
当前随机数和前面随机过的进行比较!
不知道如何判断是否重复! 展开
3个回答
展开全部
上一位写的太麻烦了
我做了个比较简单易懂的,包含三个参数:生成几位数字,生成数字范围的最小值,最大值
typeScript代码,会js应该能看懂
/**
* 生成不重复的digit位数字,最小值min,最大值max
*/
codeEasyInit(digit:number,min:number,max:number): number[]{
// 判断位数是否超过最大值和最小值的差+1
if(max - min + 1 >= digit){
let range:number[] = [];
let result = [];
// 生成数字的范围
for(let i=0;i<max;i++){
range[i] = i + min;
}
// 从数字范围数组中随机取数字,取出后把范围数组中的数字删除
for(let i=0;i<digit;i++){
let numIndex = Math.floor(Math.random()*(range.length-1));
let numValue = range[numIndex];
result[i] = numValue;
range.splice(numIndex,1);
}
console.log(`init simple code: ${result}`);
return result;
} else {
console.log(`The number of digits is too large to be generated`);
return null;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script>
var
r=parseInt(Math.random()*38);
var
array=[];
for(var
i=0;i<7;i++)
{
var
flag=0;
do
{
for(var
j=0;j<array.length;j++)
{
if(array[j]==r)
{flag=1;break;}
}
if(!flag)
{
array[array.length]=r;
}
else
{
r=parseInt(Math.random()*38);
}
}while(!flag);
}
for(var
j=0;j<array.length;j++)
document.write(array[j]+"
");
</script>
var
r=parseInt(Math.random()*38);
var
array=[];
for(var
i=0;i<7;i++)
{
var
flag=0;
do
{
for(var
j=0;j<array.length;j++)
{
if(array[j]==r)
{flag=1;break;}
}
if(!flag)
{
array[array.length]=r;
}
else
{
r=parseInt(Math.random()*38);
}
}while(!flag);
}
for(var
j=0;j<array.length;j++)
document.write(array[j]+"
");
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script>
var r=parseInt(Math.random()*38);
var array=[];
for(var i=0;i<7;i++)
{
var flag=0;
do
{
for(var j=0;j<array.length;j++)
{
if(array[j]==r) {flag=1;break;}
}
if(!flag)
{
array[array.length]=r;
}
else
{
r=parseInt(Math.random()*38);
}
}while(!flag);
}
for(var j=0;j<array.length;j++)
document.write(array[j]+" ");
</script>
var r=parseInt(Math.random()*38);
var array=[];
for(var i=0;i<7;i++)
{
var flag=0;
do
{
for(var j=0;j<array.length;j++)
{
if(array[j]==r) {flag=1;break;}
}
if(!flag)
{
array[array.length]=r;
}
else
{
r=parseInt(Math.random()*38);
}
}while(!flag);
}
for(var j=0;j<array.length;j++)
document.write(array[j]+" ");
</script>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询