随机生成不重复的0-9的整数-----案例

方法一:字符串的巧妙用法

1
2
3
4
5
6
7
var str=" "; //定义一个字符串,其给一个空的元素
for(var i=0;i<10;i++){
var s=str.charAt(Math.floor(Math.random()*(str.length)));
str=str.replace(s,i+s); //由于s是随机的,所以位置的放置也是随机的
}
str=str.replace(" ","");
console.log(str);

方法二:根据对象中属性处理

1
2
3
4
5
6
7
8
9
10
var chest = {},arr = [],mun, count = 10;
for (var i = 0; i < count; i++) {
mun = Math.floor(Math.random() * 10);
if (!chest[mun]) { //间接的使用in的方法,判断是否含有mun数字,从而启动去重的作用
chest[mun] = true;
arr.push(mun);
continue;//跳出本次循环,进入下次循环
}
++count;
}

方法三:常规的位置互换

1
2
3
4
5
6
7
8
9
10
var arr = [0,1,2,3,4,5,6,7,8,9];
var index,temp;
for(var i = 0; i < arr.length; i++) {
index = Math.floor(Math.random()*10);
if(index != i) {//通过两两的位置交换来实现
temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}