js 产生随机数

 

这里整理了几个产生随机数的方法:

1、generateUUID()

//获取一个唯一数
function generateUUID() {
    var d = new Date().getTime();
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid;
};
复制代码
//获取一个唯一数
function generateUUID() {
    var d = new Date().getTime();
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid;
};
复制代码

2、CreateRandomNum()

/*
生成随机数列表(可能会有重复)
intLentgh:要产生多少个随机数
intMinNum:产生随机数的最小值
intMaxNum:产生随机数的最大值
*/
var CreateRandomNum = function (intLentgh, intMinNum, intMaxNum) {
    var arr = [];
    for (var i = intMinNum; i <= intMaxNum; i++)
        arr.push(i);
    arr.sort(function () {
        return 0.5 - Math.random();
    });
    arr.length = intLentgh;
    return arr;
}
复制代码
/*
生成随机数列表(可能会有重复)
intLentgh:要产生多少个随机数
intMinNum:产生随机数的最小值
intMaxNum:产生随机数的最大值
*/
var CreateRandomNum = function (intLentgh, intMinNum, intMaxNum) {
    var arr = [];
    for (var i = intMinNum; i <= intMaxNum; i++)
        arr.push(i);
    arr.sort(function () {
        return 0.5 - Math.random();
    });
    arr.length = intLentgh;
    return arr;
}
复制代码

3、CreateRandomNumS()

/*
生成随机数列表(不会重复)
intLentgh:要产生多少个随机数
intMinNum:产生随机数的最小值
intMaxNum:产生随机数的最大值
*/
var CreateRandomNumS = function (intLentgh, intMinNum, intMaxNum) {
    var arr = [];
    var json = {};
    while (arr.length < intLentgh) {
        //产生单个随机数
        var ranNum = Math.ceil(Math.random() * (intMaxNum - from)) + intMinNum;
        //通过判断json对象的索引值是否存在 来标记 是否重复
        if (!json[ranNum]) {
            json[ranNum] = 1;
            arr.push(ranNum);
        }
    }
    return arr;
}
复制代码
/*
生成随机数列表(不会重复)
intLentgh:要产生多少个随机数
intMinNum:产生随机数的最小值
intMaxNum:产生随机数的最大值
*/
var CreateRandomNumS = function (intLentgh, intMinNum, intMaxNum) {
    var arr = [];
    var json = {};
    while (arr.length < intLentgh) {
        //产生单个随机数
        var ranNum = Math.ceil(Math.random() * (intMaxNum - from)) + intMinNum;
        //通过判断json对象的索引值是否存在 来标记 是否重复
        if (!json[ranNum]) {
            json[ranNum] = 1;
            arr.push(ranNum);
        }
    }
    return arr;
}
复制代码

 

转载于:https://www.cnblogs.com/xiaoshen666/articles/11242327.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值