为了账号安全,请及时绑定邮箱和手机立即绑定

发现一个bug

这个随机数的算法有问题。ceil是舍去小数部分,若range为[0,6]。这时Math.random()*diff + min的值为小于1的浮点数,用ceil取整为1。图片index最小为0。而number的值永远不会为0;

正在回答

4 回答

貌似结果 应该是这样的吧   random( [-1,data.length-1] )   

0 回复 有任何疑惑可以回复我~
#1

RoughSurfaceBC 提问者

非常感谢!
2016-05-15 回复 有任何疑惑可以回复我~
#2

小王子抓猫咪

-1,data.length-1 这样写也是不对的,你多试试就会发下在chrome下会出现 -0 而不是 0
2016-05-21 回复 有任何疑惑可以回复我~

Math.floor(Math.random()*(max-min)+min);//向下取整

rsort([0,data.length]);

可以取得min值,取不到max值;

Math.ceil(Math.random()*(max-min)+min);//向上取整

rsort([0,data.length]);

可以取得max值,取不到min值;


0 回复 有任何疑惑可以回复我~

向下取整就可以啦!!!要不然的话得不到0的。

0 回复 有任何疑惑可以回复我~

但是number的值永远不会为0不影响实现效果,排序的时候应该data.length-1,20张图片的话index最大为19。rsort( random([0,data.length-1]) );

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

发现一个bug

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信