日期:2014-05-16  浏览次数:20505 次

生成随机数不能重复的问题!!!谢谢!
生成22以内的按升序排列5个一组的随机数,但不能出现相同的现象,但不同的组合当中可以出现相同。
例如   :
        生成五组
        0102030405,0506070809,1017192021,0106091219,0711161920,
每次调用传递一个参数,根据参数生成参数个数的以上类型的随机数。

------解决方案--------------------
还有join.......
<script>
function genSN(m, n) {
var str = " ", tmp, i, j;
var a = new Array(m), b = new Array();
for (i=0; i <a.length; i++)
a[i] = (i <9? "0 ": " ") + (i + 1);

for (i=0; i <n; i++) {
j = Math.floor(Math.random() * (a.length - i));
b.push(a[j]);
a[j] = a[a.length - i - 1];
}

return b.sort().join( " ");
}

for (var i=0; i <5; i++)
alert(genSN(22, 5));
</script>