获取随机数、浮点数取整方法

Math.(random/round/cell/floor)随机数的用法

Math.random()      返回值是一个大于等于0,且小于1的随机数

Math.random()*N    返回值是一个大于等于0,且小于N的随机数


Math.round()        四舍五入的取整

Math.ceil()            向上取整,如Math.cell(0.3)=1 、又如Math.ceil(Math.random()*10) 返回1~10

Math.floor()          向下取整,如Math.floor(0.3)=0、又如Math.floor(Math.random()*10)返回0~9

例:

Math.round(Math.random()*15)+5;  返回5~20随机数

Math.round(Math.random()*(y-x))+x;  返回x~y的随机数,包含负数。


假设arr存着54张牌,

用Math.floor(Math.random()*54)获取i,j,

然后arr[i]<=>arr[j]两个交换多次之后即可模拟实现随机洗牌的效果。

用9张牌举例:

let arr=[1,2,3,4,5,6,7,8,9]

for(let i = 0;i<5;i++){

    let m = Math.floor(Math.random()*9);

    let n = Math.floor(Math.random()*9);

    let t = arr[m];

    arr[m]=arr[n];

    arr[n]=t;

}

console.log(arr) //[8, 7, 3, 5, 4, 2, 6, 1, 9]   洗牌后会打乱了顺序

你可能感兴趣的:(获取随机数、浮点数取整方法)