Tag: 加权

JavaScript加权随机或时间百分比

我有一个每100ms运行一次的Node.js进程(setInterval)。 我每隔一段时间就要采取一些行动。 例如,2%的时间做X,10%的时间做Y,等等。 现在,我基本上是这样做的: var rand = Math.floor(Math.random() * (1000 + 1)); if(rand > 900) { // Do something } if(rand > 950) { // Do something } 问题是非常不一致。 if(rand > 900)至less接近10%的时候,你会想要,但是有时它可能是连续的10倍,或者根本不是。 如果我们假设100ms的时间间隔是固定的,那么有没有人会有更好的解决scheme的build议? 谢谢! 编辑:根据Dredel博士的评论: var count = 0; setInterval(function(){ if(count++ % 4 == 0) { console.log('25% of the time'); } }, 100);​