发表于: 2017-04-24 18:52:02
1 1071
今天完成的事:1,修改了昨天的提问题
a,身份不够随机,将乱序函数的var index = parseInt(Math.random() * (a.length - 1));改为了下面这个就可以很好的实现身份分配,思路是把传入的数组中随机选一个元素给新的数组,并且在元数组中删掉那个元素,一直循环,直到所有元素传入新的数组。
//一个函数可以将输入的数组乱序并返回乱序后的数组
function shuffle(a) {
var b = [];
while (a.length > 0) {
var index = Math.floor(Math.random() * (a.length ));
b.push(a[index]);
a.splice(index, 1);
}
return b;
};
b,流程样式也改了
c,法官日记增加了hover效果和隐藏身份
明天计划的事:学习任务5有关知识
并看红宝书
遇到的问题及收获:重新了解了下随机数相关的知识
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数
Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
评论