产生一个不重复的随机数组
//生成随机数
function randomNumBoth(Min, Max) {
var Range = Max - Min;
var Rand = Math.random();
var num = Min + Math.round(Rand * Range); //四舍五入
return num;
}
//生成数组
function randomArr(len, min, max) {
if (max - min < len) {
//可生成数的范围小于数组长度
return null;
}
var hash = [];
while (hash.length < len) {
var num = randomNumBoth(min, max);
if (hash.indexOf(num) == -1) {
hash.push(num);
}
}
return hash;
}
//测试
console.log(randomArr(10, 1, 100));
在上面的代码中,我们封装了一个 randomArr 方法来生成这个不重复的随机数组,该方法接收三个参数,len、min、和 max,分别表示数组的长度,最小值和最大值。randomNumBoth 方法用来生成随机数。