JavaScript实现生成不重复随机数组的方法
作者:拾光时间:2026-10-28 12:21:07浏览:364
本文介绍一个JavaScript函数HF.Math.RandomNumbers,用于生成指定范围内的随机数组。该函数支持通过repeat参数控制是否允许元素重复。当允许重复时,直接随机取值;当要求不重复时,采用先构建完整序列再随机抽取并移除的方式,确保结果数组中无重复元素。
JavaScript生成不重复随机数组代码示例
实现代码如下:
// 获取数组中的随机数
// 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;
}作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
