
<script>
var arr=new Array(4);
for(i=0;i<arrlength;i++)
arr[i]=parseInt(Mathrandom()10);
var flag=0;
for(i=0;i<arrlength-1;i++){
for(j=i+1;j<arrlength;j++){
if(arr[i]==arr[j]){flag=1;break;}
}
if(flag)break;
}
alert(arr+"\n"+(flag"重复":"不重复"));
</script>
function getArrayItems(arr, num) {
//新建一个数组,将传入的数组复制过来,用于运算,而不要直接 *** 作传入的数组;
var temp_array = new Array();
for (var index in arr) {
temp_arraypush(arr[index]);
}
//剔除一些数字
//取出的数值项,保存在此数组
var return_array = new Array();
for (var i = 0; i
//判断如果数组还有可以取出的元素,以防下标越界
if (temp_arraylength>0) {
//在数组中产生一个随机索引
var arrIndex = Mathfloor(Mathrandom()temp_arraylength);
//将此随机索引的对应的数组元素值复制出来
return_array[i] = temp_array[arrIndex];
//然后删掉此索引的数组元素,这时候temp_array变为新的数组
temp_arraysplice(arrIndex, 1);
} else {
//数组中数据项取完后,退出循环,比如数组本来只有10项,但要求取出20项
break;
}
}
return return_array;
}
var my_array = new Array();
for (i = min; i < max; i++) //max,min指定范围
{
my_array[i] = i;
}
my_array = getArrayItems(my_array,1000); //得到数组
function rand(u,d){
++d;
return parseInt(Mathrandom()(u-d)+d);
}
var backgroundColorArray = ["red","green","violet","peachy","brown","blue"];
var backgroundColor = "t-"+ backgroundColorArray[Mathfloor(Mathrandom()5)];
var backgroundPic = "t-pattern-"+Mathfloor(Mathrandom()9+1);
documentbodyclassName = backgroundColor + " " + backgroundPic ;
基础知识:
复制数组:
(1)循环遍历复制(不推荐)
复制代码
代码如下:
var
arry
=
[1,5,9,7],
new_arry
=
[],
n
=
0,
len
=
arrylength;
for(;n<len;n++){
new_arrypush(arry[n]);
}
(2)concat()
方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
复制代码
代码如下:
var
arry
=
[1,5,9,7],
new_arry
=
arryconcat();
consolelog(new_arry);
(3)slice()
方法可从已有的数组中返回选定的元素
复制代码
代码如下:
var
arry
=
[1,5,9,7],
new_arry
=
arryslice(0);
consolelog(new_arry);
随机数:
Mathrandom()
Mathrandom(),返回0到1的随机数,如:04261967441998422
个人封装函数:
复制代码
代码如下:
function
getRandom(opt)
{
var
old_arry
=
optarry,
range
=
optrange;
//防止超过数组的长度
range
=
range
>
old_arrylengthold_arrylength:range;
var
newArray
=
[]concat(old_arry),
//拷贝原数组进行 *** 作就不会破坏原数组
valArray
=
[];
for
(var
n
=
0;
n
<
range;
n++)
{
var
r
=
Mathfloor(Mathrandom()
(newArraylength));
valArraypush(newArray[r]);
//在原数组删掉,然后在下轮循环中就可以避免重复获取
newArraysplice(r,
1);
}
return
valArray;
}
var
new_val
=
getRandom({'arry':[1,6,8,0,3],'range':3});
consolelog(new_val);
是不是很好用呢,非常实用的代码,这里是从本人项目中分离出来分享给大家,希望对大家有所帮助。
// JS小菜鸟,大佬轻喷
Mathrandom(); //该方法产生一个0到1之间的浮点数。Mathfloor(Mathrandom()10+1); //生成1-10的随机数
Mathfloor(Mathrandom()10);//生成0-9的随机数
// 最简单的方法是自己写个例子验证一下
for(var i=0;i<1000;i++){var j = Mathfloor(Mathrandom()100);
if(j==90){
consolelog(j);
}
if(j==100){
consolelog(j);
}
}
以上就是关于js 获取可重复的随机数全部的内容,包括:js 获取可重复的随机数、js 怎么获取指定范围内不重复的随机数、js 取多个随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)