JS生成不重复的随机数组
//获取数组中的随机数
//HF.Math.RandomNumbers是前缀,可以自己定义,主要看逻辑代码
HF.Math.RandomNumbers = function (startNum, endNum, count, repeat) {
var ret = [];
if (repeat) {
for (var i = 0; i < count; i++) {
ret[i] = HF.Math.Random(startNum, endNum);
}
return ret;
}
var tmp = [];
var i = 0;
for (var s = startNum; s <= endNum; s++) {
tmp[i++] = s;
}
var l = tmp.length;
for (i = 0; i < count; i++) {
ret[i] = HF.Array.Remove(tmp, HF.Math.Random(0, --l));
}
return ret;
}
var ret = [];
if (repeat) {
for (var i = 0; i < count; i++) {
ret[i] = HF.Math.Random(startNum, endNum);
}
return ret;
}
var tmp = [];
var i = 0;
for (var s = startNum; s <= endNum; s++) {
tmp[i++] = s;
}
var l = tmp.length;
for (i = 0; i < count; i++) {
ret[i] = HF.Array.Remove(tmp, HF.Math.Random(0, --l));
}
return ret;
}