JavaScript随机数

news/2024/7/5 6:49:58

概念总结

js产生随机数通常是使用javascript的Math.random()函数

常用的几种方法:Math.random()表示:结果为0-1之间(包括0,不包括1);

Math.floor(Math.random()*10+1)表示结果为1-10之间的一个随机数

Math.floor(Math.random()*24)表示结果为0-23间的随机数

1.Math.random();返回0-1之间的随机数,可能为0,但是总是小于1,[0,1)

返回指定范围随机数(m~n)之间的范围的公式为:

Math.random()*(n-m)+m

2.Math.ceil(n);返回大于等于n的最小整数(向上取整)

用Math.ceil(Math.random()*10)时,主要获取1到10的随机整数,取0的几率很小

3.Math.round(n)返回n四舍五入后整数的值

用Math.round(Math.random());可均衡获取0和1的随机整数

用Math.round(Math.random()*10)时,可基本均衡获取0到10的随机整数

4.Math.floor(n)返回小于等于n的最大整数(向下取整)

用Math.floor(Math.random(*10))时,可均衡获取0到9的随机整数

随机数,向下取整案例

{
    //变量存储获取方法
    let sv = saveVar = {
        set:
        {
            globals: (name, value) => pm.globals.set(name, value),
            environment: (name, value) => pm.environment.set(name, value),
            variables: (name, value) => pm.variables.set(name, value)
        },
        get:
        {
            globals: (name) => pm.globals.get(name),
            environment: (name) => pm.environment.get(name),
            variables: (name) => pm.variables.get(name)
        },
        readInfo: (name, value, type) => {
            if (type == 1) {
                sv.set.globals(name, value);
                return sv.get.globals(name)
            }
            if (type == 2) {
                sv.set.environment(name, value);
                return sv.get.environment(name)
            }
            if (type == 3) {
                sv.set.variables(name, value);
                return sv.get.variables(name)
            }
        }, setObj:
        {
            globals: (name, value) => pm.globals.set(name, JSON.stringify(value)),
            environment: (name, value) => pm.environment.set(name, JSON.stringify(value)),
            variables: (name, value) => pm.variables.set(name, JSON.stringify(value))
        }
        ,
        getObj:
        {
            globals: (name) => JSON.parse(pm.globals.get(name)),
            environment: (name) => JSON.parse(pm.environment.get(name)),
            variables: (name) => JSON.parse(pm.variables.get(name))
        },
        readObj: (name, value, type = 0) => {
            if (type == 1) {
                sv.setObj.globals(name, value);
                return sv.getObj.globals(name)
            }
            if (type == 2) {
                sv.setObj.environment(name, value);
                return sv.getObj.environment(name)
            }
            if (type == 3) {
                sv.setObj.variables(name, value);
                return sv.getObj.variables(name)
            }
        }
    };

    let md = {
        //获取json,没有注销,否则会报错
        // json: pm.response.json(),
        //字符转json
        isJsonF: (value) => (new Function("return " + value)()),
        //json转字符
        toString: (value) => JSON.stringify(value),
        //字符转json(脚本自带方法)
        isJsonP: (value) => JSON.parse(value),
        //随机数向下取整
        floorRandom:(value)=>Math.floor(Math.random() * value),
    };

    let channelNameInfos = sv.getObj.environment("channelNameInfo");
    let channelNameList = channelNameInfos.channelNameList;
    let channelNameCount = channelNameInfos.channelNameCount;

    //随机抽取渠道名称
    channelNameCount = md.floorRandom(channelNameCount);

    let channelName = channelNameList[channelNameCount];
    sv.set.variables("channelName",channelName);

}


http://lihuaxi.xjx100.cn/news/980177.html

相关文章

Application工具方法

//注册这个接口registerActivityLifecycleCallbacks(activityLifecycleCallbacks);}Overridepublic void onTerminate() {//注销这个接口。unregisterActivityLifecycleCallbacks(activityLifecycleCallbacks);super.onTerminate();}public static List<Activity> activi…

剑指offer JZ6 从尾到头打印链表

Java 剑指offer JZ6 从尾到头打印链表 文章目录Java 剑指offer JZ6 从尾到头打印链表一、题目描述二、递归写法三、栈方法使用Java的递归和栈解决从尾到头打印链表的问题 一、题目描述 输入一个链表的头节点&#xff0c;按链表从尾到头的顺序返回每个节点的值&#xff08;用数组…

如何正确努力?7 分钟重新认识冰山模型。

我明明很努力&#xff0c;但好像没什么卵用&#xff1f;”这是很多职场人士或者即将进入职场的人容易产生的困惑。美国著名社会心理学家麦克利兰在 1973 年所提出的素质冰山模型大概能解释这种情况。不过&#xff0c;让我们先从【冰山一角】这个词开始。当你听到它&#xff0c;…

k8s 部署 skywalking 并持久化到es

1、k8s中安装部署 skywalking skywalking集群情况下需要保证用同一数据源&#xff0c;这里我们存储方式改为es 1.1 部署elasticsearch docker run -it -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS"-Xms256m -Xmx256m" -e "discovery.typesingle-node"…

nginx配置维护页面的方法

一、描述 本人公司一般发版是不停项目的&#xff0c;但是遇到特殊情况、就不得不停项目发版&#xff0c;用户就会有几个小时不能使用。 停项目发版时&#xff0c;会修改下nginx&#xff0c;让所有请求都跳转到维护页面&#xff0c;在此记录下修改方法。 二、nginx配置维护页…

扩展欧几里得算法及其应用

前言 由于数论的板子真的很抽象&#xff0c;也很难背&#xff0c;所以特此记录扩展欧几里得算法的板子和它的用途 本篇文章只涉及应用&#xff0c;不涉及证明&#xff0c;如需理解证明还请各位移步其他优秀的讲解&#xff01; 扩展欧几里得算法 先粘一下板子的代码 typedef lo…

每天5分钟快速玩转机器学习:贝叶斯算法的局限性

本文重点 贝叶斯算法的应用很广泛,其中最经典的应用就是垃圾邮件的分类,本节课程通过垃圾邮件的例子来看一下贝叶斯算法存在的一些问题,我们应该如何解决它? 垃圾邮件分类 给定一封电子邮件,我们如何判断这封电子邮件是垃圾邮件还是正常邮件,这是机器学习中的二分类问…

Android13 音量曲线调整

Android13 音量曲线调整 Android13 上配置文件的路径&#xff1a; /vendor/sprd/modules/audio/engineconfigurable_apm/工程目录/system/etc/audio_engine_config/audio_policy_engine_stream_volumes.xml /vendor/sprd/modules/audio/engineconfigurable_apm/工程目录/sys…