Js随机生成10个不重复的数字
1 // 定义存放生成随机数的数组 2 var array=new Array(); 3 // 循环N次生成随机数 4 for(var i = 0 ; ; i++){ 5 // 只生成10个随机数 6 if(array.length<10){ 7 generateRandom(10); 8 }else{ 9 break; 10 } 11 } 12 // 循环遍历随机数数组 13 for(var i = 0 ; i < array.length; i++){ 14 console.log(array[i]); 15 } 16 // 生成随机数的方法 17 function generateRandom(count){ 18 var rand = parseInt(Math.random()*count); 19 for(var i = 0 ; i < array.length; i++){ 20 if(array[i] == rand){ 21 return false; 22 } 23 } 24 array.push(rand); 25 }
另一种写法:
1 function sjsz(num){ 2 var ary = []; //创建一个空数组用来保存随机数组 3 for(var i=0; i<num; i++){ //按照正常排序填充数组 4 ary[i] = i+1; 5 } 6 ary.sort(function(){ 7 return 0.5-Math.random(); //返回随机正负值 8 });console.log(ary) 9 return ary; //返回数组 10 }