基础
1、Math.random(),其结果为 [0,1) 区间的随机小数。
2、Math.floor(num),向下取num的整数部分
eg: Math.floor(2.99) //2
eg: Math.floor(0.01) //0
3、Math.round(num) 其结果为num四舍五入的整数
4、Math.ceil(n) 向上取整
eg: Math.ceil(2.99) //3
eg: Math.ceil(0.01) //1
生成随机数
var random = function(min, max){
// 若max不存在 min 赋值给max,并重新赋值min
if(max == null){
max = min;
min = 0;
}
return min+ Math.floor(Math.random()*(max-min+1))
}
random(5) // 生成[0, 4) 区间的整数
如上述所说Math.random() 为[0, 1)区间的小数,
乘以(max-min) 为生成从 [min,max) 的随机数,会发现随机数的最大值达不到max,故要加个1,使其生成[min,max] 闭区间的整数。
数组随机乱序
var shuffle = function(array){
var rand ;
var index = 0;
var shuffled = []; // 准备一个空数组用于返回
// 下面就是一个打乱数组顺序的过程
for(var i =0; i