用js实现随机选取10–100之间的10个数字,存入一个数组,并排序

本文深入探讨了一种用于生成指定范围内不重复随机数的算法。该算法首先检查所需生成的随机数数量是否超过指定范围内的可能值,随后通过递归方式确保生成的每个随机数在数组中唯一,最后返回排序后的随机数数组。适用于需要生成特定数量不重复随机数的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function randomNub(aArray, len, min, max) {
    if (len >= (max - min)) {
        return '超过' + min + '-' + max + '之间的个数范围' + (max - min - 1) + '个的总数';
    }
    if (aArray.length >= len) {
        aArray.sort(function(a, b) {
            return a - b
        });
        return aArray;
    }
    var nowNub = parseInt(Math.random() * (max - min - 1)) + (min + 1);
    for (var j = 0; j < aArray.length; j++) {
        if (nowNub == aArray[j]) {
            randomNub(aArray, len, min, max);
            return;
        }
    }
    aArray.push(nowNub);
    randomNub(aArray, len, min, max);
    return aArray;
}
var arr = [];
randomNub(arr, 10, 10, 100);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值