JavaScript实现生成不重复随机数组的方法

作者:拾光

时间:2026-10-28

浏览:363

本文介绍一个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;
}

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章