zoukankan      html  css  js  c++  java
  • JavaScript中Math.random()方法生成随机数的通用函数

    Math.random()方法返回介于0 ~ 1 的一个随机数,不包括0和1,对于一些场景,这样的返回值很有用。比如,新闻网站用于随机显示新闻事件,套用下面的公式,就可以利用Math.random()方法从某一范围内随机选择一个值。

    value = Math.floor(Math.random() * 范围值 + 第一个可能的值);

    因为Math.random()总的返回一个小数值,用这个小数值乘以以个整数,然后再加上一个整数,结果仍然为一个小数。上面公式中用到了 Math.floor() 方法,将小数向下取整,取得我们需要的随机整数值。

    举2个例子,我们需要取得1 ~ 10 的随机整数:

    var randomNum = Math.floor(Math.random() * 10 + 1 ); 

    console.log(randomNum); //介于1和10之间的随机数(包括1和10)。总共有10个值的可能(1~10),而第一个可能的值是1.。如果是2到10 的数,就是

    var randomNum = Math.floor(Math.random() * 9 + 2 ); 

    console.log(randomNum); //介于2和9之间的随机数(包括2和9)。从2到10总共有9个数,而第一个可能的值是2。

    根据以上方法,抽离出一个比较通用的函数:

    function randomNum(lowerValue,upperValue){

    var choices = upperValue - lowerValue + 1;
    var num = Math.floor(Math.random() * choices + lowerValue );
    return num;

    }

    函数randomNum()接受两个参数,应该返回的最小值和最大值,而最大值减去最小值再加1得到的是可能值总数,然后就套用前面的公式。前面的两个例子分别可以使用函数,如下:

    randomNum(1,10); //介于1和10之间的随机数(包括1和10)

    randomNum(2,9); //介于2和9之间的随机数(包括2和9)

  • 相关阅读:
    ajax GET 传输中文乱码
    php 验证码 图像存在错误 无法显示 解决方法
    ajax 简单实例
    PHP continue break 区别 用法
    php注意事项
    php7注意事项
    腾讯2015后台模拟题
    【leetcode】_3Sum
    最小的k个数 2.5
    《Hadoop权威指南》笔记 第三章 并行复制及存档
  • 原文地址:https://www.cnblogs.com/ndh074512/p/15350770.html
Copyright © 2011-2022 走看看