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;
}
复制代码

 

posted @ 2019-07-25 09:46  xiaoshen666  阅读(410)  评论(0编辑  收藏  举报