我创建了一个程序,每次按下按钮时都会显示随机图片。每张图片都是不同的,并分配有一个唯一的整数 ID。图片可以重新显示,尽管它之前已经显示给用户。
以下代码行生成要选择的随机卡 ID:
picCount
是唯一图片的数量。
newPic
是要选择的图片的ID。
var newPic = Math.floor((Math.random()*this.100)+1) % this.picCount;
我想知道我是否应该从
var newPic = Math.floor((Math.random()*100)+1) % this.picCount;
到
var newPic = Math.floor((Math.random()*this.picCount)+1) % this.picCount;
确保卡片的平均分配,因为我目前的方法比其他卡片更偏爱某些卡片。
我的分析正确吗?
如何让显示的图片更加随机?
最佳答案
假设 ID 是从 0 到 picCount - 1,你应该可以把
Math.floor(Math.random()*this.picCount);
实现完全均匀分布。 Math.random() 对于这个目的来说绰绰有余;在这种情况下,伪随机性很好。
关于javascript - 哪种方法能保证每张图片均等概率显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651779/