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