如何写随机代码

有时候写随机代码搞的很麻烦,每次写都要想,下面是我常用的一些随机代码,有不足之处还望一扫而过的朋友给点新意。

  • 1/2概率
    let rand = 0.5-Math.random() > 0 ? true : false;
  • 1/3、2/3概率(其他依次类推)
    let rand = 1/3 - Math.random() > 0 ? true : false;
  • 0-n 、1-n、m-n随机整数
    let rand = Math.floor((n +1) * Math.random());//0=< rand <= n
    let rand = Math.floor(1+n * Math.random());//1=< rand <= n
    let rand = Math.floor(m+Math.floor((n-m+1)* Math.random()));//m=< rand <= n
  • 随机一个数组(主要利用数组排序的方法)
    let arr = [1,2,3,4,5,6,7,8,9,0];
    arr.sort(()=>0.5-Math.random());
    console.log(arr);//1, 5, 3, 2, 4, 6, 8, 7, 0, 9
  • 随机数也可以通过getTime(),因为getTime()的最后几位是随机的
    new Date().getTime()
    1525398685676
    new Date().getTime()
    1525398692149
    new Date().getTime()
    1525398707429
    new Date().getTime()
    1525398709308
    new Date().getTime()
    1525398710421
    
    //
    function getRandom(){
       let x = new Date().getTime();
       let y = Math.floor(x/1000);   
       return x - y*1000;       
    }

     



posted @ 2018-05-04 09:45  保持当下  阅读(2483)  评论(0编辑  收藏  举报